WS-Federation与System.DirectoryServices

时间:2012-01-05 08:12:14

标签: wcf ws-federation

我有点困惑。如果有WS-Federation允许我的webservice用户通过LDAP进行身份验证,那么我的服务代码中是否使用了WS-Federation或System.DirectoryServices命名空间?

谢谢

2 个答案:

答案 0 :(得分:1)

他们之间没有比较。

WS-Federation是一种支持单点登录方案的协议。它基本上支持两个配置文件,一个用于验证使用名为Active Profile的Web服务的客户端,另一个用于验证Web应用程序中客户端的被动配置文件(它使用http)。

联合服务的Active Directory是构建在Active Directory之上的扩展,用于使用WS-Federation对用户进行身份验证。

DirectoryServices是您用于直接从.NET应用程序与Active Directory通信的API。与身份验证无关。

此致 巴勃罗。

答案 1 :(得分:1)

主要的是WS-Federation将身份验证委托给令牌颁发者。这允许您将目录服务身份验证代码放在令牌颁发者中,并设计“不关心”身份验证实现的服务。您可以通过令牌颁发者的多个端点对您的客户端进行身份验证,也可以使用不同的实现。因此,例如,您可以公开通过Windows身份验证,用户名/密码或其他机制进行身份验证的端点,但配置为通过联合信任令牌颁发者的其他服务无需关心如何扩展令牌颁发身份验证机制。

您甚至可以“链接”联合,以便将令牌颁发者配置为在某些端点上使用联盟本身,将令牌颁发委派给完全不同的令牌颁发者。因此,您可以通过这种方式使用第三方可信令牌发卡机构实施身份验证,例如“使用Facebook登录”,雅虎等。可行的方式是在您的服务上设置联合以信任您的令牌发行者,您的令牌发行者是设置使用联合来信任Facebook令牌。这也允许您在DMZ中拥有一个令牌颁发者,在您的域中拥有另一个令牌以及后端域中的服务的架构,并且您可以让Web服务器能够使用后端服务进行身份验证,而无需任何网络信息或其他安全相关信息。您的域名可供DMZ以外的潜在黑客使用。