SSO之CAS+LDAP实现单点登录认证

54 篇文章 0 订阅

目录:

  1. 概述
  2. 详细步骤
    • LDAP安装配置
    • CAS基础安装配置
    • CAS整合LDAP的配置

[一]、概述

本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤。

[二]、详细步骤

1、LDAP安装配置 详见:图文介绍openLDAP在windows上的安装配置

安装配置,添加部分测试数据如下:

 2、CAS的基础安装配置:SSO之CAS单点登录实例演示

 3、CAS整合LDAP的配置

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

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

首先在<beans>跟节点下增加bean:ContextSource 的配置:

ContextSource 的配置说明:

  • 如果有多个LDAP服务器,可以通过参数urls 配置多个
  • FastBindLdapAuthenticationHandler配置时,这里的userDn 可以配置成 “cn=Manager,ou=dev,dc=micmiu,dc=com” 或 “cn=Manager,ou=dev”  或 “cn=Manager” 或 “Manager” 这四个都可以
  • 如果LDAP服务器有SSL,注意url配置的前缀是ldaps:”ldaps://192.168.8.150:636″

在<bean id=”authenticationManager” />下找到SimpleTestUsernamePasswordAuthenticationHandler的配置,修改成如下:

配置好后分别启动三个应用:tomcat-cas、tomcat-app1、tomcat-app2,进行认证测试:

  • 输入Michael/dev4me 或者 dev001/dev001 可以成功登录,
  • 输入Michael/test4me 或者test001/test001 则登录失败

[第二种]BindLdapAuthenticationHandler 

这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同样适用,下面我们配置的示例就还是用uid)。

修改web的配置文件 WEB-INF\deployerConfigContext.xml

同样在<beans>跟节点下增加bean:ContextSource 的配置:

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

配置好后分别启动三个应用:tomcat-cas、tomcat-app1、tomcat-app2,进行认证测试:

  • 输入Michael/dev4me 或者 dev001/dev001 可以成功登录,
  • 输入Michael/test4me 或者 test001/test001 也可以成功登录
如果把参数:searchBase的值修改为:”ou=dev,dc=micmiu,dc=com”,重新启动测试认证的结果如下:
  • 输入Michael/dev4me 或者 dev001/dev001 可以成功登录,
  • 输入Michael/test4me 或者test001/test001 则登录失败

此时的认证效果和第一种的认证效果是一样的。

有关连接池的配置可以参见官网介绍:https://wiki.jasig.org/display/CASUM/LDAP

本文介绍到此结束@Michael Sun.

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值