快速业务通道

联合身份标识:使用WIF实现ASP.NET被动身份验证

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号