本文共 1934 字,大约阅读时间需要 6 分钟。
openldap通常会在企业中用来进行用户验证,具体关于openldap的介绍,请看相应的openldap系列的文章,这篇文章只会介绍如何将cas-server4.0版本与openldap结合起来,即让openldap来充当登陆验证的工具。
0.修改配置
想要cas和openldap结合,只需要修改配置即可,当然前提是你已经有了相应的openldap服务器。
在网上对cas与openldap结合的文章很少,有的也是对cas-4.0以前的版本cas-3.x版本与openldap的结合。
所以对于cas-server-4.0与openldap的结合,虽然并不复杂,但是还是值得记下来的。
依旧是修改WEB-INF/deployerConfigContext.xml
这里构造方法是由一个Map结构配置,就是配置登陆验证的形式,包括对于密码的配置等。
其中的primaryAuthenticationHandler这个key对应着就是我们之前讲过的cas-server-4.0之后,不再是用户名和密码相同即可登陆,而是设置了默认用户名密码,这个默认的用户名密码就是用primaryAuthenticationHandler配置的。
所以,如果我们还是想用单纯的用户名密码验证,可以在这里添加值,但是这样无疑显得过于笨拙。
那么我们如果要想添加ldap的验证方式,那么毫无疑问我们要在authenticationManager中的构造方法中注册ldap验证形式。
完善ldap验证入口的相关必要配置。
我们这里没有配置https,用的是简单的http方式访问,所以相关的https的配置注释掉了。
这里还有一点需要注意,如果我们在abstractConnectionConfig这个bean的配置中配置了如下属性:
p:connectTimeout=”3000”
配置了超时时间的话,程序依旧可以稳定运行,但是到了设置时间后,后台日志就会疯狂报错,一直报错,
LDAP response read timed out, timeout used:3000ms
但是丝毫不影响程序的运行,登陆还是可以登陆的。为了解决这个问题,我也是试了好久,因为网上是真的没有相关资料呀。给我气的,后来发现,我只需要注释掉这个配置就不会报错了,而且程序还是会稳定运行,至少到现在为止还没发现有任何的异常。
对于具体的配置目前还没有研究,先用这把,后续如果要加新的功能,那么肯定是需要深入研究配置的。
转载地址:http://tdmvb.baihongyu.com/