《李兴华Java架构师 》完整版

一、常用的LDAP服务器有以下几种

     1:Apache directory server

     2:Sun directory server 

     3:openDS 一个开源的,基于LDAP和DSML标准的Directory service。Directory service不仅包括Directory server,还有其它与directory相关的基本service:directory  proxy、virtual dirctory、namespace distribution和数据同步Directory server是一个可以通过网络访问,信息分级存储的数据库。OpenDS只能用在linux操作系统。该项目的地址为:http://www.opends.org/ 

    4: Netscape Directory Server

    5: Window AD

    6: IBM Tivoli Diectory Server

     本文档中使用IBM Tivoli Diectory Server作为测试LDAP服务器,apache directory studio作为LDAP客户端软件(到http://directory.apache.org/ 下载并安装apache directory studio1.4.0)。LDAP服务器可以装在不同的机器上,CAS通过配置URL来访问它,下面看看CAS和LDAP服务器结合起来要如何配置。

二、CAS Server端的配置

1.分别将spring-ldap-1.3.1.RELEASE-all.jar(可以在 Spring官网下载spring-ldap-1.3.1.RELEASE-minimal.zip,解压后在dist目录下找到spring-ldap-1.3.1.RELEASE-all.jar)和cas-server-support-ldap.jar(可以在CAS包moudles目录下找到)两个文件添加至cas/WEB-INF/lib目录下。

2.如果是Mave构建项目的,添加LDAP的相关依赖:

org.jasig.cas cas-server-support-ldap ${cas.version}   LDAP认证配置有两种:[第一种]、FastBindLdapAuthenticationHandler 这种认证处理器一般用于DN是由用户名直接组成的,比如:uid=%u,ou=dev,dc=micmiu.com,dc=com ,其中 %u 就是CAS登录的用户名。修改web的配置文件 WEB-INF\deployerConfigContext.xml:首先在根节点下添加bean:ContextSource 的配置: ContextSource 的配置说明:(1)如果有多个LDAP服务器,可以通过参数urls 配置多个。(2)FastBindLdapAuthenticationHandler配置时,这里的userDn 可以配置成 “cn=root,ou=dev,dc=micmiu,dc=com” 或 “cn=root,ou=dev” 或 “cn=root” 或 “root” 这四个都可以。其中的cn=root为LDAP服务器实例的管理员用户,password为对应的密码。(3)如果LDAP服务器有SSL,注意url配置的前缀是ldaps:”ldaps://ldapServerIp:636″。在下找到SimpleTestUsernamePasswordAuthenticationHandler的配置,修改成如下: [第二种]、BindLdapAuthenticationHandler 这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同样适用,下面我们配置的示例就还是用uid)。修改web的配置文件 WEB-INF\deployerConfigContext.xml:同样在根节点下添加bean:ContextSource 的配置: ldap://ldapServerIp:389 修改认证bean的配置,修改成如下:

 

你可能感兴趣的:(《李兴华Java架构师 》完整版)