ADFS 概念与基本开发介绍 (1)

  • 时间:
  • 浏览:2
  • 来源:UU直播快三官方_大发UU直播快3

本文会首先介绍与联合身份验证有关的概念及相关的系统设计意图,随否有对 ADFS 联合身份验证的配置过程、形态及处理流程进行阐述。然否有基于已有的系统提出1个 支持多 ADFS 联合身份验证的改进实例,并对其形态及处理流程进行阐述。最否有对开发过程中所遭遇的这俩问提进行介绍。真诚希望本文可否 帮助读者较快地了解联合身份验证的相关知识。

本文转自   流原炫   51CTO博客,原文链接:http://blog.51cto.com/xiaoyuanzheng/1963744

机会让让我们歌词 都 的项目就是针对公司实物的成员使用,继承单个ADFS是足够的,只要,当项目作为云端服务,针对的用户群体机会是就是个企业级的用户。只要,就产生了对于多AD FS域独立验证的需求。基于已有的单AD FS的实现,本文稍否有提供1个 支持多个AD域AD FS的联合身份验证服务的实现示例。

机会还要实现多个域的域用户登录,首先还要将相关域的AD FS配置信息保居于系统的数据库中,并提供相应方法,还要解融化用户所对应的域。这还要通过在用户信息表中保存用户对应的域配置,也还要通过用户的名称来获取对应配置。在获取相应的AD FS配置后,让让我们歌词 都 还要通过WIF所提供的API及相关事件,对当前用户的AD FS配置信息及完成验证后所还要的证书指纹信息进行设置。设置完成后,系统机会跳转到对应的AD FS登录页面,从而对用户的身份进行验证。验证成功后,跳转回系统,完成Security Token的验证。完成那些操作后,系统将生成用户的Cookie,完成登陆流程。

如前所述,AD FS 联合服务代理是运行用户通过Internet进行 AD FS 的客户端身份验证凭据收集的接口,它会将获取到的凭据传递给联合身份验证服务器进行验证处理。

如前所述,让让我们歌词 都 涉及到1个 新的概念,依赖方与安全令牌服务。

信赖方(RP,Relying Party)就共要服务提供商,也就是由让让我们歌词 都 构建的依赖声明的应用多多任务管理器 (如我的网站)。信赖方有时也被称为“声明感知应用多多任务管理器 ”或“基于声明的应用多多任务管理器 ”。信赖方作为应用多多任务管理器 还要使用由安全令牌服务(STS)所颁发的令牌,并从令牌中提取声明,从而进行用户身份的验证和用户信息的获取。

安全令牌服务(STS,Security Token Service),信赖方所使用的令牌的创建者就是安全令牌服务。它作为1个 Web服务居于。STS还要由让让我们歌词 都 自行构建,也还要应用已有的实现,AD联合身份验证服务(AD FS)就是1个 STS的实现。

为了充分利用基于Claims的身份验证机制,让让我们歌词 都 机会使用由微软提供的用于支撑应用多多任务管理器 实现联合认证功能的可供依赖的基础架构。那些技术包括:AD联合身份验证服务(AD FS,Active Directory Federation Services),与Windows身份验证基础类库(WIF,Windows Identity Foundation)。



Windows身份验证基础类库(WIF,Windows Identity Foundation)是一组.NET Framework类,它为让让我们歌词 都 提供了实现基于声明标识的应用多多任务管理器 的基础框架。在具体的实现过程中,主要利用了其中的WSFederation Authentication Module(WS-FAM)HTTP模块。

下图对相关的领域形态进行了划分。

原文链接地址:http://nap7.com/me/adfs-introduce-and-develop/

以我的站点与某第三方联合身份验证系统的验证流程为例,其过程也还要用如下的时序图阐明。

Active Directory联合身份验证服务(AD FS,Active Directory Federation Services)是由微软自Windows Server 10003 R2起,在各个Server版本操作系统中提供的1个 软件组件,其最新版本是集成在Windows Server 2012 R2的AD FS 3.0。

AD FS 使用基于Claims的访问控制验证模型来实现联合认证。它提供 Web 单一登录技术,原本只要在会话的有效期内,就可对一次性的对用户所访问的多个Web应用多多任务管理器 进行验证。

让让我们歌词 都 还要将 AD FS 理解为组织域内与公网之外用户桥梁。让让我们歌词 都 编写的应用多多任务管理器 作为Internet服务在公网部署,当多多任务管理器 还要对域内的用户进行验证时,就还要委托 AD FS 服务器进行验证。 AD FS 服务提供了1个 AD FS 联合服务器代理,这之类于1个 只提供了登录界面的应用多多任务管理器 ,让让我们歌词 都 将相关域用户的验证过程委托给该多多任务管理器 进行处理,该多多任务管理器 将提示用户输入验证凭据(这还就是在浏览器中弹出登录提示框或跳转到1个 登录页面的形式),过后其将所获取的凭据传递给AD FS联合身份验证服务。 AD FS 作为AD的一每段有权限(其拥有AD域管理员的权限)使用AD DS的标准方法认证1个 域内的用户,机会认证成功,AD FS 机会方法应用多多任务管理器 预先设定的信息需求,以Claims的形式将安全令牌信息返还给让让我们歌词 都 的应用多多任务管理器 。

(如您转载本文,还要标明本文作者及出处。如有任何问提请与我联系 me@nap7.com)

基于注册用户的账户管理方法何必 能很好地适用于商业系统的使用场景。之类,当系统相关管理人员一蹶不振 组织后,仍需这俩的管理者对系统内相关联的账户信息进行进一步的维护。对于组织账户的信息应该交由组织的域服务器进行统一的管理及验证。只要,让让我们歌词 都 还要为系统打上去独立的基于AD FS的联合身份验证。从而使系统既支持传统的注册用户,又支持域用户的使用。当用户登录时,系统会检查用户账户的后缀名,机会账户名称以someone@nap7.com形式输入,机会采用nap7someone的形式,则认定为域用户,系统机会自动跳转到AD FS联合身份验证服务器,进行用户身份的验证,机会验证通过,其使用方法与正常的注册用户完正一致。

联合身份验证(Federated Identity)是四种 用户身份的验证方法,这俩验证方法通过把用户身份的验证过程与被该用户访问的服务提供商(SP,Service Provider,如让让我们歌词 都 被委托人的站点)进行逻辑分离,在保证用户身份信息被隔离在用户所属系统的实物的同时,为受信任的服务提供商提供所还要的用户信息。

当服务提供商还要对用户的身份进行验证时,会将相关的验证过程转交给身份验证提供方(IdP,Identity Provider,如AvePoint域的 AD FS 验证服务),当用户经由身份验证提供方成功登录后,身份验证提供方会将用户的身份验证凭据和用户相关的信息返还给服务提供商,从而实现服务提供商对于用户身份的验证,以及对于用户信息获取。

常见的联合身份验证的实现有SAML、OAuth、OpenID等方法,本文主要介绍的是基于Claims和SAML 2.0的 AD FS 联合身份验证。在基于Claims的联合身份验证的过程中,当身份验证提供方完成对于用户身份的验证,返还用户的相关信息时,其数据信息实体被称之为令牌(Token),其中的相关信息字段被称为声明(Claims)。令牌保证了用户身份的真实性,并暗含了实用信息,其形态如下图所示。

基于传统的开发方法,创建1个 应用多多任务管理器 (即服务提供商)并保证多种身份验证机制还要协调工作何必 是一件简单的工作。首先,让让我们歌词 都 还要决定对于特定的应用多多任务管理器 ,哪四种 身份验证技术最为共要。机会应用多多任务管理器 允许用户通过不同的方法进行访问,之类,允许同属1个 组织下的域用户群体,机会跨越不同组织的多个域下的域用户群体,再机会同时允许那些域用户及传统的注册用户通过公网对应用多多任务管理器 进行访问,那么使用传统的单一的身份验证机制是完正可否 满足那些需求的。在那些需求下,应用多多任务管理器 应该以直接经由用户所属的组织或系统处获取对应用户验证的结果。同时,也还要从1个 AD目录服务或其它某处查询到用户相关的信息,只要保证那些信息还要在公网上,可否 以统一的方法进行传递。

基于Claims的身份验证(Claims-based identity)为让让我们歌词 都 提供了这俩统一的身份验证方法,让不同的服务提供商还要通过公网,获得所还要的保居于用户所属组织实物的关于用户的验证信息。其基本流程如下图所示。

首先,用户通过客户端(如浏览器),访问服务提供商(如图中①过程,相对于身份验证提供方也还要称其为信赖方RP)。信赖方向身份验证提供方提出验证请求(如图中②所示),身份验证提供方会要求用户输入登陆凭据(如用户名及验证码)。在通过其验证确认后,身份验证提供方会将验证成功的消息及该用户相关的数据信息以令牌的方法交还给信赖方(如图中③所示)。

以上给出的相关概念层层递进,之类的概念在不同领域层次有着不同的称谓,为了方便理解,下面对那些概念的关系进行简单的总结。

联合身份验证的主要优势是:

(1)互联网现有的服务提供商不计其数,机会用户还要在每个服务提供商处都申请账户,那对于用户自身来讲无疑是1个 巨大的负担,用户机会有几3个还要维护的身份验证信息,为了访问不同的服务提供商,用户就还要记住每1个 ID和对应口令。机会用户在不同的服务提供商处使用相同的身份验证信息,那么一旦有1个 站点居于安全信息的泄露,则机会直接因为用户在所有服务提供商处的信息收到严重威胁;

(2)机会用户以企业员工的身份访问服务提供商,则会涉及到诸如批量用户导入、身份授权、删除授权及用户信息等问提。之类,当1个 属于组织O的用户A以组织员工身份在服务提供商S处注册了1个 账户后,该员工A一蹶不振 了过后的组织O,这时,这俩用户A就不应该继续在服务S处代表该组织O。此时还要在服务提供商S处将该用户的访问权限清除,而这俩操作本应由组织O来完成,对于未使用联合身份验证的系统来说,这是很难实现的;

(3)还要实现单点登录(SSO)。