使用adfs的sharepoint 2010和asp.net应用程序的SSO



我的任务是创建一个SSO解决方案,从现有的asp.net应用程序到新的sharepoint 2010应用程序。现有的asp.net应用程序使用表单身份验证,但不针对单个数据源。它检查数据库、active directory和一些大型机表以进行身份验证,并最终创建一个表单身份验证票证。

我想在sp2010和asp.net应用程序之间共享令牌,但我现在意识到这是不可能的,因为sp2010不再使用简单的FBA令牌。

所以现在我希望走STS和基于索赔的路线。在仔细研究了一下之后,我明白使用ADFS比为asp.net端构建自定义STS要好得多。我的问题是,由于我在asp.net端有自定义的票证创建身份验证方法,所以我没有一个数据源来"馈送"adfs。我是sharepoint和adfs的新手,我真的不知道如何开始这种类型的集成。

有人能帮我理清思路吗?

谢谢!

ADFS属性存储可能会解决您的问题,尽管为了实现这一点,您最好将Windows Identity Foundation(WIF)集成到您的应用程序中,这可能是一个侵入性的更改。

http://technet.microsoft.com/en-us/library/adfs2-help-attribute-stores(v=ws.10).aspx

简而言之,ADFS不限于用于收集用户数据的AD。您可以将其配置为查询其他用户属性存储,例如您的数据库。然后,您可以在ADFS中编写规则,告诉它要进行哪些查询,ADFS将使用这些查询将用户声明填充到ADFS向您的应用程序发布的令牌中。