05LDAP目录服务

LDAP(Lightweight Directory Access Protocol):类似于组织机构图和地址薄.LDAP越来越多的用来作为集中管理组织用户信息的方式,可以将成千的用户分成逻辑上的组并允许在不同的分布式系统间共享统一的用户信息.
为了安全目的,LDAP 经常被用来帮助集中的用户名和密码认证——用户的凭证存储在LDAP目录中,而对于用户来说,认证请求基于目录进行。这对于管理员来说可以便于管理,因为用户的凭证——登录、密码和其它信息——都存储在 LDAP 中的一个地址。另外,组织机构信息,如组和团队的分配、地理位置以及组织的等级结构,也定义在用户在目录中的位置上。


常用的LDAP术语:
entry是LDAP中一个基本的存储单元;可以被看作是一个DN和一组属性的集合.
dn(distinguished name):是LDAP记录项的名字.在LDAP目录中的所有记录项都有一个唯一的dn。每一个LDAP记录项的DN是由两个部分组成的:相对DN(RDN)和记录在LDAP目录中的位置
objectClass根据不同的objectClass,我们可以判断这个entry是否属于某一个类型.比如我们需要找出LDAP中的全部用户:(objectclass=person)再比如我们需要查询全部的LDAP组:(objectclass=groupOfUniqueNames)


dc(domain component):域组件,一般作为LDAP等级结构中的最高级组织.
c(country):一些LDAP等级结构中将国家作为很高的等级.
o(organization name)一个LDAP资源分类上的业务组织
ou(organizational unit)
cn(common name)通用名.
uid(user id)
userPassword


一.运行一个嵌入式的 LDAP服务

1.配置 LDAP服务器引用

<ldap-server id="ldapServer" ldif="classpath:/ldif/calendar.ldif" root="dc=jbcpcalendar,dc=com"/>
2.启用LDAP AuthenticationProvider
<authentication-manager>
	<ldap-authentication-provider server-ref="ldapServer" user-search-filter="(uid={0})" group-search-base="ou=Groups"/>
</authentication-manager>
3.启动jetty测试吧.


理解Spring LDAP认证如何工作,在LDAP 认证过程中有三个基本的步骤:
a.将用户提供的凭证与LDAP 目录进行认证; 
b.基于LDAP 上的信息,确定用户拥有的GrantedAuthority; 
c.为了应用以后用到,从LDAP 条目中预先加载用户信息到自定义的 UserDetails对象中。


第一步,认证用户凭证:自定义身份验证提供程序注入到AuthenticationManager.o.s.s.ldap.authentication.LdapAuthenticationProvider拿到用户提供的凭据并与LDAP目录进行验证.如下图所示:


o.s.s.ldap.authentication.LdapAuthenticator定义了一个代理从而允许提供者以自定义的方式认证请求.这里使用o.s.s.ldap.authentication.BindAuthenticator,它会尝试使用用户的凭证绑定(登录)LDAP服务器,就像用户本身尝试建立连接.
第二步,确定用户的角色:经过第一步的服务器成功认证之后,接下来就会进行权限信息的确定.授权是通过安全实体的一系列角色定义的,,LDAP认证过的用户角色确定,如下图所示


LdapAuthenticationProvider委托给LdapAuthoritiesPopulator.DefaultLdapAuthoritiesPopulator在 LDAP目录角色相关的条目中寻找当前用户,以确定用户的角色.
通过group-search-base属性定义查找用户角色分配的DN.此例设置了group-search-base="ou=Groups",当一个用户的DN在 group-search-base DN下面的条目中时包含用户 DN的条目中的一个属性将会作为这些用户的角色.
DefaultLdapAuthoritiesPopulator使用了几个<ldap-authentication-provider>声明的属性来管理为用户查找角色。这些属性大致按以下的顺序使用:
group-search-base:它定义了基础的DN,LDAP集成应该基于此往下为用户查找一个或多个的匹配项。默认值会在LDAP根中进行查找,这可能会代价较高;
group-search-filter:它定义了 LDAP 查找的过滤器,用来匹配用户的 DN 与group-search-base 之下的条目属性。这个过滤器通过两个参数进行参数化设置——第一个({0})作为用户的 DN,第二个作为({1})作为用户的名字。默认值为(uniqueMember={0})。 
group-role-attribute:它定义了匹配条目中用来组装用户 GrantedAuthority 的属性,默认值为cn; 
role-prefix:要拼到在 group-role-attribute 中发现值的前缀以产生 Spring Security 的GrantedAuthority。默认值为ROLE_。

chapter5剩下的内容先留着...






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 第一章目录服务技术的由来和应用.................................... 7 1 1 网络发展对目录服务的需求...................................... 7 1 2 目录服务技术的应用.................................................. 8 1 3 总结..........................................................................10 1 4 习题..........................................................................10 第二章目录服务技术简介..................................................11 2 1 两个主要的目录服务标准.........................................12 2 2 几个主要的概念........................................................12 2 2 1 目录树..............................................................12 2 2 2 项......................................................................13 2 2 3 对象类..............................................................13 2 2 4 属性..................................................................13 2 2 5 甄别名称...........................................................14 2 2 6 模式..................................................................14 2 3 目录服务操作...........................................................16 2 3 1 绑定操作...........................................................16 2 3 2 解绑定操作.......................................................16 2 3 3 添加操作...........................................................17 2 3 4 删除操作...........................................................17 吉大正元信息技术股份有限公司 JIT-CA/目录服务培训教程4 2 3 5 修改操作...........................................................17 2 3 6 查找操作...........................................................18 2 3 7 比较操作...........................................................19 2 3 8 放弃操作...........................................................19 2 3 9 修改甄别名称操作.............................................19 2 4 特性..........................................................................20 2 5 总结..........................................................................21 2 6 习题..........................................................................21 第三章X.500 目录服务标准...............................................22 3 1 X.500 目录服务标准简介...........................................22 3 2 X.500 标准的内容......................................................23 3 3 X.500 标准的分布特性..............................................24 3 4 X.500 标准的特点......................................................24 3 5 X.500 标准的不足导致LDAP 的诞生........................25 3 6 总结..........................................................................26 3 7 习题..........................................................................26 第四章LDAP 标准................................................................28 4 1 LDAP 标准简介.........................................................29 4 2 LDAP 目录服务的应用..............................................29 4 3 LDAP 的基本结构和功能..........................................30 吉大正元信息技术股份有限公司 JIT-CA/目录服务培训教程5 4 4 LDAP 的体系结构.....................................................31 4 5 LDAP 的会话机制.....................................................31 4 6 LDAP 的安全机制.....................................................32 4 7 LDAP 的复制功能.....................................................32 4 8 LDAP 的分布和提名功能..........................................33 4 9 厂商的支持...............................................................33 4 10 LDAP 标准的内容....................................................34 4 11 为什么LDAP 更好..............................................36 4 12 LDAPV3 新增的主要特性........................................37 4 13 常用的LDAP 属性说明..........................................39 4 14 总结.........................................................................39 4 15 习题.........................................................................40 第五章目录服务技术在PKI 中的应用..................................42 5 1 电子证书和PKI 系统................................................42 5 2 LDAP 技术在PKI 中的应用......................................43 5 3 总结..........................................................................44 5 4 习题..........................................................................44 第六章 NETSCAPE 目录服务器..........................................46 6 1 NETSCAPE目录服务器性能.........................................46 6 2 NETSCAPE目录服务器的主要特点.............................47
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值