联合身份标识:使用WIF实现ASP.NET被动身份验证
IssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <trustedIssuers> <add thumbprint="EF38A0A6D1274766093D3D78BFE4ECA77C62D5C3" name="http://localhost:60768/STS/" /> </trustedIssuers> </issuerNameRegistry> <certificateValidation certificateValidationMode="PeerTrust" revocationMode="Online" trustedStoreLocation="LocalMachine"/> <audienceUris> <add value="http://localhost:50652/ClaimsAwareWebSite2/" /> </audienceUris> <federatedAuthentication> <wsFederation passiveRedirectEnabled="true" issuer="http://localhost:60768/STS/" realm="http://localhost:50652/ClaimsAwareWebSite2/" requireHttps="true" /> <cookieHandler requireSsl="true" name="FedAuth" hideFromScript="true" path="/ClaimsAwareWebSite2" /> </federatedAuthentication> <serviceCertificate> <certificateReference x509FindType="FindByThumbprint" findValue="8A90354199D284FEDCBCBF1BBA81BA82F80690F2" storeLocation="LocalMachine" storeName="My" /> </serviceCertificate> </service> </microsoft.identityModel> 被动联合中通常需要 HTTPS/SSL 来保护颁发的持有者令牌免受中间人的攻击,并且需要对会话 Cookie 使用 HTTPS/SSL。默认情况下,Cookie 对脚本是隐藏的,但它是一项重要设置,所以我在图 5 中对它进行了设置。 至于 Cookie 的名称和路径,名称默认为 FedAuth,路径为应用程序目录。为 Cookie 指定唯一名称可能很有用,尤其是在解决方案中很多 RP 应用程序共享同一个域的情况下。相反,如果希望同一个域中多个应用程序共享 Cookie,您可以选择指定一个通用路径。 在采用 FAM 和 SAM 的被动联合中,通常使用 FedUtil 配置 ASP.NET 应用程序,然后根据解决方案的要求调整相应设置。您也可以使用 PassiveFederationSignIn 控件来代替 FAM,如图 3 所示。您可以在 microsoft.identityModel 节中加载该控件的设置,也可以直接设置控件属性。 如果希望将未经授权的请求重定向到登录页面(用户可以在此通过单击该控件进行显式登录)而不是由 FAM 自动重定向到 STS,控件方法会很有用。例如,如果用户属于多个身份标识提供程序(本地域),登录页面可能会提供一种机制,供用户在重定向到 STS 之前指示其本地域。我稍后会讨论本地域识别。 被动令牌颁发 如前所述,被动联合使用 HTTP GET、POST 和浏览器重定向,实现 RP 与 STS 之间的通信。图 6 演示这一过程中登录请求和登录响应中涉及的主要请求参数。 图 6 被动联合请求中涉及的主要登录请求和响应参数 STS 接收到登录请求时,会根据它的已知 RP 域列表检查 wtrealm 参数,验证该 RP 是不是已知的。STS 可能已有该 RP 的知识,即加密令牌所需的证书,以及应包含在已颁发令牌中的声明。如果该 RP 通过完整登录请求提供可选的 wreq 参数,则可以指示需要哪些声明,STS 可以选择根据这个列表,也可以根据经过身份验证的用户自主决定对哪些声明授权。 在图 1 所示的简单 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |