快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
节 说明 <issuerNameRegistry> 指定受信任证书颁发机构的列表。此列表主要用于验证令牌签名,以便拒绝不受信任的证书所签名的令牌。 <audienceUris> 指定传入 SAML 令牌的有效访问者 URI 的列表。可通过禁用此项允许所有 URI,但不建议这样做。 <securityTokenHandlers> 自定义令牌处理程序的配置设置,或提供自定义令牌处理程序,用于控制对令牌进行验证、身份验证和序列化的方式。 <maximumClockSkew> 调整令牌和应用程序服务器之间的允许时间差,以进行令牌验证。默认偏差时间为 5 分钟。 <certificateValidation> 控制证书的验证方式。 <serviceCertificate> 提供一个服务证书,用于对传入令牌进行解密。 <claimsAuthenticationManager> 提供一个自定义 ClaimsAuthenticationManager 类型,用于自定义或替换要附加到请求线程的 IClaimsPrincipal 类型。 <claimsAuthorizationManager> 提供一个自定义 ClaimsAuthorizationManager 类型,用于从中心组件控制对功能的访问。 <federatedAuthentication> 提供特定于被动联合的设置。

启用被动联合

WIF 简化了为 ASP.NET 应用程序配置被动联合的过程。STS 应提供联合元数据(按照 WS-Federation 规范中的说明),WIF 提供联合实用工具 (FedUtil.exe),该工具使用联合元数据建立 RP 和 STS 之间的信任(以及对主动和

RP 应用程序或从中注销,并且支持联合注销。

图 3 演示采用 FederatedPassiveSignIn 控件时通信流程是如何变化的。应用程序使用窗体身份验证来保护资源,并重定向到承载该控件的登录页面 (1)。用户单击 FederatedPassiveSignIn 控件(或自动重定向到该控件),会触发到 STS 的重定向 (2)。控件页面从 STS 接收响应,通过 FAM 和 SAM 处理登录响应 (3),创建 ClaimsPrincipal,然后写入会话 Cookie (4)。当用户重定向到最初请求的页面时 (5),SAM 验证会话 Cookie,并为登录请求创建 ClaimsPrincipal。此时,ClaimsAuthorizationModule 和该页面可以执行授权检查,如图 2 所示。

图 3 使用 FederatedPassive-SignIn 控件的被动联合

FAM 和 SAM 都通过适当的 SecurityTokenHandler 类型处理传入令牌。登录响应到达时,FAM 循环访问 SecurityTokenHandlerCollection,查找正确的令牌处理程序来读取 XML 令牌。在联合方案中,这个令牌处理程序通常是 Saml11SecurityTokenHandler 或 Saml2SecurityTokenHandler,通过添加自定义令牌处理程序,您也可以采用其他令牌格式。SAM 使用 SessionSecurityTokenHandler 处理与会话 Cookie 相关联的会话令牌。

对于被动联合流程而言,某些身份标识模型配置设置十分重要,这些设置用于初始化 FAM、SAM 和 FederatedPassiveSignIn 控件(当然,后者也会公开可在 Visual Studio 设计器中配置的属性)。您可以以编程方式提供 Microsoft.IdentityModel.Configuration 命名空间的 ServiceConfiguration 类型的实例,也可以在 <microsoft.identityModel> 节中提供声明性配置。图 4 总结了身份标识模型设置,本文后面几部分将对其中很多设置进行介绍。

图 4 基本 <microsoft.identityModel> 元素汇总

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号