CAS统一登录认证(5):与ldap连接

CAS 统一身份认证(一):系统编译与运行 本文主要介绍CAS中央身份认证服务,详细说明了CAS 6.5版的下载、编译、部署和运行。 阅读详情

     cas认证与数据库已经连接了,可以认证,但有一个cas客户端需要ldap认证,就开始研究ldap,搞了四天,头大,ldap很快就安装配置好了,也可以在ldap命令验证,cas也是上周就配置好了,关键在于cas和ldap的连接,我的是cas5.3.2,网上的cas和ldap的连接从cas3.2一直参考到cas5.2的版本的配置,尝试了无数配置方案,都没成功,网上也没有见cas5.3.2和ldap连接成功的配置案例,只有无法配置成功的文章,以为是软件本身还有bug,打算放弃。

   但今天一觉醒来,心有不甘,花了三天时间没日没夜,无疾而终,不是我的风格,经过了多少迎难而上,还是再试试吧,今天不再看网友的文章了,看cas官网原文,慢慢啃英文单词,一个个属性配置推敲,终于调试通过。对于刚接触cas2周和ldap4天的我来说,值得庆贺一下,写本文以为自己和看客参考。

1. cas安装见前文

https://blog.youkuaiyun.com/oLinBSoft/article/details/81910775

2.ldap安装,特简单 我的是ubuntu16.04

sudo apt-get install slapd ldap-utils

一条命令就安装好了

sudo dpkg-reconfigure slapd

再用一条命令配置, 设置ldap根域名,admin密码即可

管理客户端可以下载windows版的LdapAdmin.exe  只有一个文件,无需安装直接运行

 

也可以安装 phpldapadmin 通过web界面管理ldap账号 

apt-get  install  phpldapadmin

这个是安装命令,安装完后按网络文章简单配置即可

增加几个测试部门组织和用户,设置用户密码(设置时可选加密方式)

ldap的介绍,使用在此按下不表,来日深入。

3. cas和ldap的连接配置,参考cas官网说明文档:

https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html

4.安装配置步骤

(1)重新编译cas以支持LDAP认证,命令序列

cd /usr/local/cas-overlay-template-5.3 

mvn clean    //清除原来的编译

nano  pom.xml  // 修改编译配置文件 

增加以下内容:

        <dependency>
             <groupId>org.apereo.cas</groupId>
             <artifactId>cas-server-support-ldap</artifactId>
             <version>${cas.version}</version>
        </dependency>

保存后重新编译生成cas.war

mvn install   //生成cas.war

删除原来的tomcat发布的cas.war

rm /usr/local/apache-tomcat-8.5.32/webapps/cas.war

cp  /usr/local/cas-overlay-template-5.3/target/cas.war  /usr/local/apache-tomcat-8.5.32/webapps/

检测cas是否提供服务

在浏览器 https://author.linbsoft.com:8443    测试ok

(2) 修改配置文件

nano  /usr/local/apache-tomcat-8.5.32/webapps/cas/WEB-INF/classes/application.properties

注释掉默认测试方式和账号,增加ldap认证方式属性

##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon

cas.authn.ldap[0].principalAttributeList=displayName,givenName
cas.authn.ldap[0].principalAttributePassword=userPassword
cas.authn.ldap[0].collectDnAttribute=false
cas.authn.ldap[0].principalDnAttributeName=principalLdapDn
cas.authn.ldap[0].allowMultiplePrincipalAttributeValues=true
cas.authn.ldap[0].allowMissingPrincipalAttributeValue=true
cas.authn.ldap[0].credentialCriteria=
cas.authn.attributeRepository.ldap[0].attributes.uid=uid
cas.authn.attributeRepository.ldap[0].attributes.displayName=displayName
#cas.authn.attributeRepository.ldap[0].attributes.cn=commonName
#cas.authn.attributeRepository.ldap[0].attributes.affiliation=groupMembership
cas.authn.ldap[0].ldapUrl=ldap://author.linbsoft.com
cas.authn.ldap[0].bindDn=cn=admin,dc=linbsoft,dc=com
cas.authn.ldap[0].bindCredential=123
cas.authn.ldap[0].poolPassivator=BIND
cas.authn.ldap[0].connectionStrategy=
cas.authn.ldap[0].providerClass=org.ldaptive.provider.unboundid.UnboundIDProvider
cas.authn.ldap[0].connectTimeout=5000
cas.authn.ldap[0].trustCertificates=
cas.authn.ldap[0].keystore=
cas.authn.ldap[0].keystorePassword=
cas.authn.ldap[0].keystoreType=PKCS12
cas.authn.ldap[0].minPoolSize=3
cas.authn.ldap[0].maxPoolSize=10
cas.authn.ldap[0].validateOnCheckout=true
cas.authn.ldap[0].validatePeriodically=true
cas.authn.ldap[0].validatePeriod=500
cas.authn.ldap[0].validateTimeout=5000
cas.authn.ldap[0].failFast=true
cas.authn.ldap[0].idleTime=500
cas.authn.ldap[0].prunePeriod=24
cas.authn.ldap[0].blockWaitTime=5000
cas.authn.ldap[0].useSsl=false
cas.authn.ldap[0].useStartTls=false
cas.authn.ldap[0].responseTimeout=8000
cas.authn.ldap[0].allowMultipleDns=false
cas.authn.ldap[0].name=
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].searchFilter=uid={user}
cas.authn.ldap[0].enhanceWithEntryResolver=true
cas.authn.ldap[0].derefAliases=NEVER
cas.authn.ldap[0].dnFormat=uid=%s,ou=teacher,dc=linbsoft,dc=com
cas.authn.ldap[0].baseDn=dc=linbsoft,dc=com

(3) 重启tomcat 到tomcat的logs目录查看catalina.out 文件,排查错误,比如,我调试过程出现:

2018-08-28 02:22:29,467 ERROR [org.apereo.cas.authentication.PolicyBasedAuthenticationManager] - <[LdapAuthenticationHandler]: [Unexpected LDAP error / LDAPException(resultCode=17 (undefined attribute type), errorMessage='undefined attribute type', ldapSDKVersion=4.0.5, revision=27420)]>

 这里虽然显示错误,但内心已狂喜,因为说明cas和ldap建立联系了,是ldap验证过程中的错误,经过排查某个属性值没提供,或提供的属性值与环境不匹配。

(4)调试通过后,可以用ldap中的注册用户正常验证

>
2018-08-28 02:59:35,745 INFO [org.apereo.cas.authentication.PolicyBasedAuthenticationManager] - <Authenticated principal [linbin] with $
2018-08-28 02:59:35,756 INFO [org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: linbin
WHAT: Supplied credentials: [UsernamePasswordCredential(username=linbin)]
ACTION: AUTHENTICATION_SUCCESS
APPLICATION: CAS
WHEN: Tue Aug 28 02:59:35 PDT 2018
CLIENT IP ADDRESS: 192.168.0.130
SERVER IP ADDRESS: 192.168.0.107
=============================================================

(5) 上图,放鞭炮

LDAP认证登录成功!

CAS5.3单点登录(二)连接mysql数据库 1 阅读详情

相关推荐

CAS单点登录从入门到部署

当我们访问其他的应用,与前面的步骤也是基本相同,首先用户访问受保护的资源,跳转回浏览器,浏览器含有先前登录的CASTGC cookie,CASTGC cookie包含了TGT并发送到CAS认证中心,CAS认证中心校验TGT是否有效,如果有效分发浏览器一个带ST参数的资源地址URL,应用程序拿到ST后,再发送给CAS认证中心,如果认证了ST有效后,结果会返回一个包含成功信息的XML给应用。用户凭借ST去访问service,service拿ST去CAS验证,验证通过后,允许用户访问资源。PGT是ST签发的。

cgk_ALEM的博客 1998

cas单点退出和自定义验证登录成功后返回的信息

简介 项目中使用的CAS后续需要外部系统的接入,这里需要解决两个问题,1:单点登出问题,之前的文章中提到各个接入cas的应用在验证st时会获取到用户信息,然后将用户信息做缓存,下次再次访问这个子应用时就不需要再向cas去获取是否登录,那么这就存在一个问题,CAS已经退出登录,但是各个子应用仍然保存着登录状态,这就导致了用户仍然可以访问子应用。第二个问题,由于在验证st时,cas会返回用户信息,但是cas默认返回的信息有并不能满足项目需求,有些是多余的,还有一些自定义的用户信息并没有返回,这里也需要对信息做重

weixin_37548740的博客 3607

教学资源库管理平台V4.0

LinBSoft 教学资源库管理平台V4.0 演示: http://demo.linbsoft.com/coolzyk 作者: http://www.linbsoft.com

cas单点登录系列1.2:增加ldap配置

本节目标是添加数据源ldap且使用ldap中账号进行登录成功至此我们已经把数据源ldap加入了,使用ldap中的账号进行登录。下节我们介绍登录页的改造。

java_GJZ的博客 998

别再手动配IP了!保姆级教程:用Cisco Packet Tracer搞定DHCP服务器配置(附实验抓包分析)

本文提供了一份详细的Cisco Packet Tracer DHCP服务器配置教程,帮助用户告别手动分配IP的繁琐过程。通过构建多子网实验环境,逐步指导DHCP地址池设置、客户端测试及协议分析,并分享常见问题排查技巧,让网络配置更高效、更智能。

weixin_42535461的博客 337

AUTOSAR FEE 换页机制深度解析:从原理到实现逻辑

​​没有磨损均衡的EEPROM模拟,如同在沙地上建造城堡​​ ——AUTOSAR存储系统设计箴言

汽车电子软件领域知识分享 1338

基于CAS实现单点登录(SSO):CAS+LDAP实现单点登录认证

[一]、概述 本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤。 [二]、详细步骤 1、LDAP安装配置  详见:图文介绍openLDAP在windows上的安装配置 安装配置,添加部分测试数据如下:    2、CAS的基础安装配置:SSO之CAS单点登录实例演示    3、CAS整合LDAP的配置 如果是Mave构建项目的,添加LDAP的相关依

时光在路上 2万+

C/C++关于VScode报错“终端将被任务重用,按任意键关闭”的解决方案

这其实不是一种报错,有这个提示的原因是本地端口是被共享的,所以必须关闭一个进程才能执行另一个,只需要对 tasks.json文件做一些修改即可。 报错时候 此时的tasks.json为: { "version": "2.0.0", "command": "g++", "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"], // 编译命令参数 "problemMatche

Jerry Man的博客 6424

单点登录SSO、OAuth、LDAP、CAS的流程与应用

单点登录 - SSO 现阶段互联网中拥有着大量的应用系统,极大地提升了大家的工作效率与生活质量。然而大量的应用系统拥有着不同的认证与授权模式,这使得用户需要大量记忆用户名与口令,并多次登录和注册所需要使用的系统,这使得用户的使用体验非常的糟糕。因此,单点登录系统(SSO,Single Sign-On)应运而生。 单点登录 - SSO 常见的应用有两种情况: 在一个单位中,...

云度 1万+

从Gitee上部署视觉工程到Linux虚拟机

(使用SVM来识别装甲板的编号,此处手机上的图片中只有灯条没有数字,SVM无法识别出编号。这两行代码的意义是,当SVM识别不出或者识别不到编号时,把装甲板的编号默认为2号。找到自瞄程序中,数字识别类下的这两行代码,把注释去掉。这样,每次打开新的终端时,环境变量都会自动设置。(2)查看虚拟机设置选项,检查虚拟机USB接口是否为3.0及以上的接口。如果不是,要更改好。这样,每次打开新的终端时,环境变量都会自动设置。后,每次打开终端时自动设置这些环境变量,你可以将。打开第一个终端,用来挂ROS的内核启动页面。

2301_81035291的博客 1520

计算机组成原理实验(已通关)-华中科技大学头歌Educoder(Logisim)

汉字国标码转区位码实验 汉字机内码获取实验 8位可控加减法电路设计 第2关 CLA182四位先行进位电路设计 第3关 4位快速加法器设计 第4关 16位快速加法器设计 第5关 32位快速加法器设计 第6关 5位无符号阵列乘法器设计 6位有符号补码阵列乘法器 乘法流水线设计 原码一位乘法器设计 偶校验编码设计 偶校验解码电路设计 16位海明编码电路设计 16位海明解码电路设计 海明编码流水传输实验 16位CRC并行编解码电路设计 CRC编码流水传输实验

紫荆鱼的博客 4万+

1Vue + Jwt + SpringBoot + Ldap 完成登录认证

Vue + Jwt + SpringBoot + Ldap 完成登录认证  本人野生程序员一名,了解了一些微服务架构、前后端分离、SPA的知识后就想试试做点什么东西。之前一直做后端,前端只是有基础知识。之前学习过angularjs,但当时就是一脸懵逼(完全看不懂是啥)就放弃了。最近又学了Vue,这次感觉总算明白了一些,但其中也跳过很多坑(应该还会更多),在这里写下来记录一下吧。  说回主题,之前传统

miniboxAn 2万+

IPD流程中的RR\OR\IR\PB\SR\AR\CR等名词汇总(基于新的产品包需求架构)

RR:Raw Requirement,原始需求=》IR:Initial Requirement,初始需求=》SR:System Requirement,系统需求=》AR:Allocated Requirement,分配需求=》CR:Process Change Requirement,流程变更需求。

a1809032425的博客 3189

连接ldap服务器失败_openEA | 开源社区统一认证方案(上)——CAS与LDAP的搭建与集成...

openEA开源周刊openEA开源社区的官方运营载体这里每天给大家呈现有价值的开源资讯,欢迎您的来稿与推荐,点击上方蓝色字,加入我们吧!摘要:在信息技术和网络技术飞速发展的时代,企业内部的应用系统越来越多。除了给用户带来不少麻烦外,随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,统一用户认证、单点登录等概念应运而生,同时不断...

weixin_39932330的博客 2478

华为OD新系统机试真题-8位LED控制器(C/C++/Py/Java/Js/Go)

华为OD新系统机试真题【8位LED控制器】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统4月19号机试真题【8位LED控制器】

qq_45776114的博客 597

OpenClaw 多机器人多 Agent 模式:打造你的 AI 助手团队

OpenClaw多Agent模式为企业提供高效的AI助手团队解决方案。通过创建4个独立的飞书机器人(主助理、内容创作、技术开发、AI资讯),每个连接专属Gateway和Agent模型(如Claude Opus/Sonnet、Gemini 2.5),实现专业分工。相比单Agent模式,多Gateway架构具有配置清晰、互不干扰、无需手动切换等优势。系统采用Profile隔离机制,各Agent拥有独立配置和端口。部署过程包括创建机器人应用、配置Agent、运行自动化脚本等步骤,支持私聊或群组@使用。日常提供状态

Maynor的博客 5099

CAS 单点登录 5.39 版本 LDAP 认证模式 AD域 返回用户信息给客户端

1.什么是单点登录就不用和大家说了,相比做个这个项目的童鞋都会去查阅一些资料 放两张图吧. 最近需要做一个CAS 单点登录返回用户信息的功能,而采用了LDAP认证AD域去返回用户信息,网上查阅了很多资料,因为涉及到版本可能有点高的问题,还有大部分是通过JDBC去连接数据,而AD域的方式去实现很少,没有什么可以参考的价值,废话不多说,这个功能只需要通过配置就可以返回不需要其他的操作. 5.x版本官...

李祥瑜的博客 4832

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

已有统一身份认证平台,兼容ldap和cas设计(一)概念简介和ldap兼容

背景 已有用java自研的统一身份认证平台。 目的 有运维提出需要兼容cas+ldap单点登录。

No system is safe 1448

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

(架构)单点登录SSO,OAuth,LDAP,CAS的流程与应用

(架构)单点登录SSO,OAuth,LDAP,CAS的流程与应用

ruijungao的博客 1256

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

基于CAS与LDAP的单点登录(SSO)的架构与实现

CAS 第一章 目的、要求和内容 1.1 目的 基于CAS与LDAP的单点登录(SSO)的架构与实现(子系统分别基于Drupal和Moodle)。 1.2 要求 实现在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用子系统,从而实现一次登录多次使用。 原有的子系统在接入CAS后,子系统中原来存在的账户迁移到CAS的数据库中,使得原有账户也能使用单点登录服务。 1.3 内容 应用目前开源的统一身份认证系统CAS(Central Authentication Service)作为实现SSO单点

weixin_40101369的博客 4398

CAS 使用 ESUP 插件认证 LDAP 用户的单点登录

ESUP为CAS的SSO提供了LDAP用户模式,本文详细论述了使用LDAP认证的配置方式,它主要分为两种主要形式:快速绑定和搜寻模式。在实际使用时,我使用了更为通用的搜寻模式。前面的一篇文章我曾经介绍了使用Tomcat简单部署CAS的方法,但对于用户名和密码只是做相同性的校验匹配验证,下面我将一步步将其改变为使用Sun Directory Server进行用户认证的方式。下载esup-casgen

3550

CAS对接LDAP实现单点登录(Tomcat启用https)

下载cas的模版,我使用的是cas5.3 cas的war包制作 生产环境无法连接外网,可以在能连接外网的服务器上使用纯净的linux容器制作war包再导入生产环境

彼岸吖的博客 3449

Liferay与CAS及LDAP

  Liferay与CAS及LDAP 原文转自http://www.huqiwen.com/2013/12/18/liferay-cas-ldap/   CAS与LDAP是Liferay实现单点登录时经常会用到的东西,本篇文章分享一下个人对Liferay、CAS、LDAP等三者之间的联系与集成。在前面转载过一篇发表在IBM的开发者技术社区网站的文章《转:Liferay 集...

cnmqw的专栏 344

CAS实现SSO全流程教程--基本原理和服务端配置(CAS集成JDBC,LDAP)

CAS实现SSO全流程教程--CAS原理、服务端配置、CAS集成JDBC和LDAP

qq_32650789的博客 3405

cas 单点登录_5分钟明了单点登录SSO、OAuth、LDAP、CAS的流程与应用

单点登录现阶段互联网中拥有着大量的应用系统,极大地提升了大家的工作效率与生活质量。然而大量的应用系统拥有着不同的认证与授权模式,这使得用户需要大量记忆用户名与口令,并多次登录和注册所需要使用的系统,这使得用户的使用体验非常的糟糕。因此,单点登录系统(SSO,Single Sign-On)应运而生。常见的应用有两种情况:在一个单位中,需要使用多个功能不同的系统应用,比如企业会有专门的财务系统,销售的...

weixin_39551554的博客 678
上一篇: CAS统一登录认证(4):.net 客户端配置问题
下一篇: CAS统一登录认证(6):SSO集成架构
领尚
博客等级 码龄14年 1143粉丝 271原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值