博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CAS结合openldap
阅读量:2350 次
发布时间:2019-05-10

本文共 1934 字,大约阅读时间需要 6 分钟。


CAS与openldap的结合

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

  • 找到id为authenticationManager的bean,加入ldap验证入口,初始配置如下

这里构造方法是由一个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/

你可能感兴趣的文章
阿里云技术教程系列-ECS远程连接 Linux 实例
查看>>
Linux新建用户并允许docker
查看>>
Drools Workbench 7.5.0.Final安装运行
查看>>
Docker快速部署Redis
查看>>
Spring boot shiro session cache ecache redis 共存配置
查看>>
一看就懂的设计模式--设计模式分类
查看>>
一看就懂的设计模式--模板方法
查看>>
一看就懂的设计模式--享元模式
查看>>
一看就懂的设计模式--策略模式
查看>>
spring Cloud 组建图
查看>>
腾讯云
查看>>
什么服务器比较好?
查看>>
阿里云+腾讯云采购季优惠攻略
查看>>
PCB设计容易出错的地方都有哪些?
查看>>
挠性电路板和刚性电路板的区别,以及柔性电路板焊接方法操作步骤
查看>>
如何做好一块PCB板,大神从以下几个方面做了论述
查看>>
学习笔记1之static
查看>>
学习笔记2之继承
查看>>
循环链表实现增、删、改、查等功能
查看>>
Android实现超链接和跑马灯
查看>>