豆瓣
扫码直接下载
在读 WCF技术剖析(卷1)
WS-FAM 在 WSFederationAuthenticationModule 类中实现。 通常,会将 WS-FAM 添加到 ASP.NET RP 应用程序的 HTTP 管道中。 如果有未经过身份验证的用户尝试访问受保护的资源,RP 会返回“401 拒绝授权”HTTP 响应。 WS-FAM 会截获此响应,而不是允许客户端接收该响应,然后它会将该用户重定向到指定的 STS。 该 STS 会颁发安全令牌,而 WS-FAM 还会截获该令牌。 WS-FAM 使用该令牌为经过身份验证的用户创建 IClaimsPrincipal 实例,以便让常规 .NET Framework 授权机制可以进行运作。 由于 HTTP 是无状态的,所以我们需要一种方法来避免在每次用户尝试访问其他受保护的资源时重复这个整个过程。 此时便需要使用 SessionAuthenticationModule。当 STS 为用户颁发安全令牌时,SessionAuthenticationModule 还会为该用户创建会话安全令牌并将其放入 Cookie 中。 在后续请求中,SessionAuthenticationModule 会截获此 Cookie 并使用它来重新构造用户的 IClaimsPrincipal。 http://msdn.microsoft.com/zh-cn/library/microsoft.identitymodel.web.sessionauthenticationmodule.aspx 如果您想要使 RP 应用程序成为声明感知应用程序,但您没有 STS(例如,RP 使用表单身份验证或 Windows 集成身份验证),则可以使用 ClaimsPrincipalHttpModule。 此模块位于应用程序的 HTTP 管道中,可截获身份验证信息。 它会根据每个用户的用户名、组成员身份以及其他身份验证信息,为每个用户生成 IClaimsPrincipal。ClaimsPrincipalHttpModule 必须插入在 <httpModules> 管道的最后,它是 IIS 7 上 <system.webServer> 的 <modules> 部分中的第一个元素。 http://msdn.microsoft.com/zh-cn/library/microsoft.identitymodel.web.claimsprincipalhttpmodule.aspx引自 WS-FAM 的工作原理
> Ben的所有笔记(5篇)
表示其中内容是对原文的摘抄