2012-07-31 79 views
1

我有以下场景:带有ADFS和自定义STS的SharePoint 2010 SSO

三种不同的Sharepoint服务器:sp1.company.com; sp2.company.com ... 使用Windows身份验证的内部用户和使用基于窗体的身份验证(FBA)的外部用户。

当外部用户从一台服务器更换为另一台服务器时,他们必须重新登录。我的目标是为所有SharePoint Server提供单点登录(SSO)。

我想也许我可以通过使用ADFS为内部用户和customSts(ThinkTecture IdentityServer)为外部用户做到这一点。

这可能吗?我如何设置Sts服务器ADFS和IdentityServer?我是否必须通过WS-Federation将ADFS连接到IdentityServer?

回答

2

是的,你提出的架构很好。您将不得不停止在SharePoint上使用表单身份验证和Windows身份验证,并开始使用基于声明的(SAML和WS-Fed)作为单一登录机制。架构模式是:您的应用程序信任“联合中心”(可以是ADFS或Windows Azure Active Directory)。该服务器将与您的身份提供商和应用程序建立所有信任关系。就你而言,你今天拥有的是几个SharePoint应用程序和两个身份提供者(一个AD通过ADFS,另一个通过类似Identity Server的自定义数据库)。

一切是通过标准协议和令牌格式相连。从SharePoint到“联合中心”,您将使用WS-Federation和SAML 1.1令牌。从“联邦中心”到ADFS,您将使用WS-Federation和SAML 1.1或2.0令牌。从“联邦中心”到Identity Server,它与ADFS相同。未来,如果您想要插入类似Facebook的内容,“联邦中心”需要使用OAuth,但SharePoint仍将使用WS-Federation,因此您不必触摸该部分。

作为联邦中心的ADFS将为您提供对WS联合和SAML协议(但不支持OAuth)的支持。今天对你来说可能已经足够了。您可能要考虑Windows Azure Active Directory(以前称为Windows Azure访问控制服务),它是作为Microsoft提供的服务提供的“联盟中心”(每100K登录时价格为2美元)。除ADFS外,微软目前更专注于WAAD。 WAAD将为您提供对OAuth,移动场景,Office 365等的支持。并不是说ADFS正在退休或者类似的情况,只是我对投资地点的看法。

把东西放在一起,需要一定的学习时间,所以要准备打像证书问题,误配置,主领域发现了一些墙,声称改造时,SharePoint人员选取,饼干,注销等

这里有一些指针:

马蒂亚斯

0

感谢您的回复,这对我帮助很大。

我设法构建了一个使用ADFS和CustomSTS进行身份验证的简单ASP应用程序。我可以在ADFS中选择家庭领域,并可以在IdentityServer中登录我,但没有重定向到我的应用程序。此外,我没有管理它与SharePoint做到这一点。使用PowerShell脚本应该很容易,但它还没有工作。

关于人员选择器:我知道我必须覆盖SharePoint中的ClaimsProvider。我是否必须针对AD和我的自定义会员供应商进行查询?

我看着你的产品。也许这对我们也可能有用。我会进一步测试它。

问候, 帕特里克

+0

SharePoint 2010中的人员选取器的默认经验将让你输入任何字符串。从现在开始,您使用的是声明,您可以说“允许访问此文档库,如果用户拥有声明类型=电子邮件与claimvalue = [email protected]。如果您想为人员选择器获得更好的体验,一个选项是创建自己的声称提供商将允许您搜索存储库(您的案例中的数据库和AD)如果您对Auth10感兴趣,请在“auth10 com支持”处与我们联系,我们正在运行一个早期采用程序并寻找反馈和真实世界的用法。 – woloski 2012-08-01 15:50:36