我有点困惑。如果有 WS-Federation 允许我的 web 服务的用户通过 LDAP 进行身份验证,那么如果我在我的服务代码中使用 WS-Federation 或 System.DirectoryServices 命名空间有什么区别?
谢谢
我有点困惑。如果有 WS-Federation 允许我的 web 服务的用户通过 LDAP 进行身份验证,那么如果我在我的服务代码中使用 WS-Federation 或 System.DirectoryServices 命名空间有什么区别?
谢谢
他们之间没有可比性。
WS-Federation 是一种支持单点登录方案的协议。它基本上支持两个配置文件,一个用于验证使用称为 Active Profile 的 Web 服务的客户端,另一个配置文件称为被动用于验证 Web 应用程序中的客户端(它使用 http)。
用于联合服务的 Active Directory 是构建在 Active Directory 之上的扩展,用于使用 WS-Federation 对用户进行身份验证。
DirectoryServices 是用于直接从 .NET 应用程序与 Active Directory 通信的 api。与身份验证无关。
问候,巴勃罗。
主要的是 WS-Federation 将身份验证委托给令牌颁发者。这允许您将目录服务身份验证代码放在令牌颁发者中,并设计“不关心”身份验证实现的服务。您也可以让您的客户端通过令牌发行者的多个端点进行身份验证,并使用不同的实现。因此,例如,您可以公开通过 Windows auth 或 username/pass 或其他机制进行身份验证的端点,但您的其他服务配置为通过联合信任令牌颁发者将不需要关心您如何扩展令牌颁发身份验证机制。
您甚至可以“链接”联盟,以便将令牌发行者配置为在某些端点上使用联盟本身,将令牌发行委托给完全不同的令牌发行者。因此,您可以通过这种方式使用 3rd 方受信任的令牌发行者(例如“使用 facebook 登录”、雅虎等)实施身份验证。可行的方式是在您的服务上设置联合以信任您的令牌发行者,而您的令牌发行者是使用联合设置来信任 facebook 令牌。这也允许您在 DMZ 中拥有一个令牌颁发者、在您的域中拥有另一个令牌颁发者以及后端域中的服务的体系结构,并且您可以让 Web 服务器能够使用后端服务进行身份验证,而无需任何网络信息或其他与安全相关的信息您的域可供 DMZ 之外的潜在黑客使用。