快速业务通道

单一登录: Active Directory联合身份验证服务开发简介

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
是确定一个它能够理解的词汇表一样。例如, Fabrikam 可能会定义一个名为“所有者”的组声明,这个声明用来表示某自行车经销商的所 有者。而 Northwind 自行车行则可能用一个名为“管理人员”的声明来表示这个角色。只要 含义相同,名称不同是没有关系的,因为 Northwind 的所有者可以使用他的资源联合身份验证信任策略 ,将外发的“管理人员”声明映射为 Fabrikam 能够理解的“所有者”声明。管理 员可以在联合身份验证关系的两端对这类映射进行设置。图 3 所显示的就是一个资源合作伙伴的信任策 略中的声明映射示例。

单一登录: Active Directory联合身份验证服务开发简介

图 3 声明映射

有些声明映射的动态性过高,无法用信任策略中的静态映射来表示。假设某个资源合作伙伴需要通过 一个名为 IsOfLegalVotingAge 的声明来验证某人已满 18 岁,但现有的数据仅仅是 Active Directory® 中作为自定义声明存在的该用户的出生日期。此时,您需要的是一个声明转换模块,这 是一个程序集,它所包含的一个类可以实现一个名为 IClaimTransform 的托管类。您可以通过信任策略 属性表(如图 4 所示)将这个模块与您的信任策略连接起来。这个模块会被调用两次:一次是在正常的 信任策略映射之前,另一次则是在之后,因此,您可以进行相应的预处理或后处理。每个 ADFS 信任策略 都允许安装一个这样的模块,这就是说,您可以在联合身份验证的帐户端和资源端进行动态的声明转换。

单一登录: Active Directory联合身份验证服务开发简介

图 4 声明转换模块

声明从何而来?

除非您编写的声明转换模块能够动态生成声明,否 则所有的声明都会由一个帐户存储库来生成,这个存储库既可以采用 Active Directory,也可以采用 Active Directory 应用程序模式(ADAM,即基于 Active Directory 基本代码的一个轻型目录服务器) 。对 Active Directory 帐户存储库来说,您可以将组声明映射到 Active Directory 中的一个或多个组 上;而在 ADAM 存储库中,您必须提供 User 对象的一个属性名称和要查询的值,这样才能指出是否应该 为某个特定用户发送这个组声明。每个自定义/身份标识声明都会直接映射到目录中该 User 对象的一个 单一属性上。

管理员可以充分利用公司目录中现有的身份标识数据,并将其与合作伙伴进行集成 ,很多情况下,这一操作不需要编写任何代码。

匿名

对基于声明的系统来说,发送用户的姓名经常是根本不需要的。这是可值得注意的地方。或许所有的 合作伙伴所关心的只是用户在执行请求之前是否已经过身份验证。但是,这也常常给合作伙伴带来便利, 至少可以通过一些身份标识句柄来添加个人化数据或者有关该用户的其他状态信息。

为了支持这种匿名的操作模式,我们可以使用一种特殊的内置身份标识声明转换方法,叫做增强的标 识隐私。如果您是一个帐户合作伙伴,而且希望能确保自己的用户在特定资源合作伙伴那里保持匿名状态 ,那么您只需要在信任策略中针对该合作伙伴启用这个功能,随后,该合作伙伴就看不到:

alice@northwindbikes.com

而是看到类似于下面这样的代码:

tQZPfFuodGysa4t40oj+kM2vBIU=@northwindbikes.com

在生成这个句柄的时候,联合身份验证服务会通过哈希算法将实际的身份标识声明、资源合作伙伴的 URI 以及一个只有您的联合身份验证服务才知道的 Salt 值组合在一起(这在 ADFS 术语中叫做“隐私密 钥”)。将合作伙伴的 URI 包含进来能够确保每个资源合作伙伴所对应的句柄都各不相同,从而防止它 们相互组合,生成非常完整的用户数据。隐私密钥的引入使得字典式攻击变得难上加难。

除了能够保护来自资源合作伙伴的身份标识外,这个功能还可以保持可跟踪性。当需要确定某个身份 标识时,我们可以从资源日志中找到经过哈希处理的身份标识并提供给帐户合作伙伴的管理

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