一、概述
本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤。
二、详细步骤
1.CAS的基础安装配置:cas系列(二)--cas单点登录配置
2.LDAP安装配置:cas系列(四)--openLDAP安装和配置
安装配置,添加部分测试数据如下:
3.CAS整合LDAP的配置
如果是Mave构建项目的,添加LDAP的相关依赖:
org.jasig.cas
cas-server-support-ldap
${cas.version}
ps:也可以在官网下载的发布包的目录 modules/ 下找到类似cas-server-support-ldap-3.4.11.jar 的包。
LDAP认证配置有两种
第一种:FastBindLdapAuthenticationHandler
这种认证处理器一般用于DN是由用户名直接组成的,比如:uid=%u,ou=dev,dc=micmiu.com,dc=com ,其中 %u 就是CAS登录的用户名。
修改web的配置文件 WEB-INF\deployerConfigContext.xml:
首先在
1.如果有多个LDAP服务器,可以通过参数urls 配置多个
2.FastBindLdapAuthenticationHandler配置时,这里的userDn 可以配置成 “cn=Manager,ou=dev,dc=micmiu,dc=com” 或 “cn=Manager,ou=dev” 或 “cn=Manager” 或 “Manager” 这四个都可以
3.如果LDAP服务器有SSL,注意url配置的前缀是ldaps:”ldaps://192.168.8.150:636″
在
配置好后分别启动三个应用:tomcat-cas、tomcat-app1、tomcat-app2,进行认证测试:这时打开cas服务端地址https://demo.server.com:8443/cas/login会提示404错误,这时需要下载两个jar包并复制到tomcat-cas\webapps\cas\WEB-INF\lib目录下,点击下载:
spring-ldap-core-1.3.1.RELEASE.jar
spring-ldap-core-tiger-1.3.1.RELEASE.jar
输入Michael/test4me 或者test001/test001 则登录失败。
第二种:BindLdapAuthenticationHandler
这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同样适用,下面我们配置的示例就还是用uid)。
修改web的配置文件 WEB-INF\deployerConfigContext.xml:
同样在
ldap://192.168.8.150:389
如果把参数:searchBase的值修改为:”ou=dev,dc=micmiu,dc=com”,重新启动测试认证的结果如下:
1.输入Michael/111111 或者 dev001/111111 可以成功登录,
2.输入Michael/test4me 或者test001/test001 则登录失败。
此时的认证效果和第一种的认证效果是一样的。
有关连接池的配置可以参见官网介绍:https://wiki.jasig.org/display/CASUM/LDAP
OK,cas实现单点登录系列到此告一段落,希望对初学者有所帮助,也是对自己知识的巩固。
纸上得来终觉浅,绝知此事要躬行。