`

cas配置笔记四---LDAP登录

 
阅读更多

在服务端中lib下加入两个jar包:

分别将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目录下。

LDAP认证配置有两种:

[第一种]、FastBindLdapAuthenticationHandler
这种认证处理器一般用于DN是由用户名直接组成的,比如:uid=%u,ou=dev,dc=micmiu.com,dc=com ,其中 %u 就是CAS登录的用户名。
修改web的配置文件 WEB-INF\deployerConfigContext.xml:
首先在<beans>根节点下添加bean:ContextSource 的配置:

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> 
   <property name="pooled" value="false"/> 
   <property name="url" value="ldap://ldapServerIp:389" /> 
   <property name="userDn" value="cn=root"/> 
   <property name="password" value="your_password"/> 
   <property name="baseEnvironmentProperties"> 
     <map> 
       <entry key="com.sun.jndi.ldap.connect.timeout" value="3000" /> 
       <entry key="com.sun.jndi.ldap.read.timeout" value="3000" /> 
       <entry key="java.naming.security.authentication" value="simple" /> 
     </map> 
   </property> 
 </bean> 

 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″。 在<bean id=”authenticationManager” />下找到SimpleTestUsernamePasswordAuthenticationHandler的配置,修改 成如下:

<bean class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler"> 
     <property name="filter" value="uid=%u,ou=dev,dc=micmiu,dc=com" /> 
     <property name="contextSource" ref="contextSource" /> 
 </bean> 

 [第二种]、BindLdapAuthenticationHandler 这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同 样适用,下面我们配置的示例就还是用uid)。 修改web的配置文件 WEB-INF\deployerConfigContext.xml: 同样在<beans>根节点下添加bean:ContextSource 的配置:

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> 
     <property name="anonymousReadOnly" value="false" /> 
     <property name="password" value="your_password" /> 
     <property name="pooled" value="false" /> 
     <property name="urls"> 
         <list> 
             <value>ldap://ldapServerIp:389</value> 
         </list> 
     </property> 
     <property name="userDn" value="cn=root,dc=micmiu,dc=com" /> 
     <property name="baseEnvironmentProperties"> 
         <map> 
             <!-- LDAP SSL访问配置 
             <entry key="java.naming.security.protocol" value="ssl" /> 
                 --> 
             <entry key="java.naming.security.authentication" value="simple" /> 
         </map> 
     </property> 
 </bean> 

 在<bean id=”authenticationManager” />修改认证bean的配置,修改成如下:

<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler"> 
     <property name="filter" value="uid=%u" /> 
     <property name="searchBase" value="dc=micmiu,dc=com" /> 
     <property name="contextSource" ref="contextSource" /> 
     <!-- 允许多个账号--> 
     <property name="allowMultipleAccounts" value="true" /> 
 </bean>

 

分享到:
评论

相关推荐

    CAS整合LDAP实现单点登录原理及部署

    CAS整合LDAP实现单点登录的原理及部署学习笔记,cas实现单点登录,ldap负责账户管理

    cas整合ldap实现单点登录学习笔记

    CAS整合LDAP实现单点登录学习笔记 包含所有过程。

    CAS整合LDAP实现单点登录学习笔记.pdf

    #### 四、CAS整合LDAP配置过程 CAS与LDAP的整合主要是为了利用LDAP作为用户信息的存储中心,同时利用CAS进行统一的认证管理。 ##### 4.1 说明 整合CAS和LDAP可以实现统一的用户管理,使得用户在登录到使用CAS的应用...

    CAS整合LDAP实现单点登录学习笔记.doc

    6. **测试与调试**:完成配置后,通过登录尝试验证CAS Server是否能成功从LDAP服务器检索并验证用户信息。 通过以上步骤,我们可以实现CAS与LDAP的整合,从而在单点登录的基础上,利用LDAP的用户管理能力,构建出...

    cas学习笔记学习笔记学习笔记

    【CAS学习笔记】 CAS(Central Authentication Service)是JA-SIG组织开发的一个开源的单点登录(Single Sign-On,简称SSO)系统,主要用于提供统一的身份验证服务。它允许用户通过一次登录,就能访问多个相互信任...

    JASIG CAS 3 Learning Note 1 -- getting started

    **JASIG CAS 3 学习笔记 1 —— 开始之旅** JASIG CAS(Central Authentication Service)是一款开源的身份验证系统,广泛应用于多应用系统中的单点登录(Single Sign-On, SSO)。CAS 3 是其第三个主要版本,提供了...

    JA-SIG(CAS)学习笔记3.doc

    无论是通过关系型数据库存储用户信息,还是利用LDAP(Lightweight Directory Access Protocol)服务器,CAS Server都提供了相应的认证模板,只需要少量修改即可适应各种场景。 对于中国用户来说,CAS Server的一个...

    java8集合源码-my-stars:我的GitHub星星的精选列表!

    CAS 服务管理 Web 应用程序的 Maven 战争覆盖 - 基础 Apereo CAS Maven WAR 覆盖模板 C - 具有一些高级功能的 Nginx 发行版 - Redis 是一个内存数据库,持久存在于磁盘上。 数据模型是键值,但支持许多不同类型的值...

    H3Cloud VDI解决方案介绍.pdf

    典型的VDI应用架构包括基础镜像文件、桌面拼装器(Composer)、LDAP认证服务器(如微软AD)、虚拟桌面管理系统(H3C CAS VDI)、桌面授权管理服务器,以及多种终端设备如台式机、Pad、瘦客户机和笔记本,通过远程...

Global site tag (gtag.js) - Google Analytics