简介:
### CAS单点登录服务器配置详解#### 一、CAS单点登录概述CAS(Central Authentication Service)是一种开放源代码的单点登录协议和服务框架,它为Web应用提供了一种简化了的身份验证流程。
通过CAS,用户只需要在一个地方完成登录过程,即可在多个应用间共享登录状态,无需重复登录。
#### 二、CAS服务器安装与配置##### 2.1 安装CAS服务端1. **下载CAS服务端**:首先从官方网址http://www.cas.org/下载最新的CAS服务端压缩包。
2. **部署WAR包**:将下载的WAR包复制到Tomcat的webapps目录下,并将其重命名为`cas.war`。
3. **启动Tomcat**:启动Tomcat服务器,自动解压WAR包,此时会在Tomcat的webapps目录下生成一个名为`cas`的文件夹。
4. **访问CAS**:通过浏览器访问`http://localhost:8896/cas`来测试CAS服务是否正常启动。
##### 2.2 配置CAS使用数据库验证为了实现更安全、更灵活的身份验证机制,我们可以配置CAS使用数据库进行用户身份验证。
具体步骤如下:1. **修改部署配置文件**:打开`cas-server-webapp\WEB-INF\deployerConfigContext.xml`文件,找到`SimpleTestUsernamePasswordAuthenticationHandler`配置项,将其替换为`QueryDatabaseAuthenticationHandler`。
```xml <bean id="authenticationHandler" class="org.jasig.cas.authentication.handler.QueryDatabaseAuthenticationHandler"> <!-- 数据库连接数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 查询语句 --> <property name="sql" value="SELECT password FROM users WHERE username = ?"/> <!-- 密码加密方式 --> <property name="passwordEncoder" ref="passwordEncoder"/> </bean> ```2. **配置数据库连接**:在同一文件中添加一个新的`dataSource` bean来定义数据库连接信息。
```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/casdb"/> <property name="username" value="casuser"/> <property name="password" value="password"/> </bean> ```3. **配置密码加密方式**:继续在同一文件中添加`passwordEncoder` bean来指定密码加密方式,这里使用MD5作为示例。
```xml <bean id="passwordEncoder" class="org.springframework.security.crypto.password.StandardPasswordEncoder"> <constructor-arg value="MD5"/> </bean> ```4. **测试数据库验证**:重启Tomcat服务器,访问CAS服务器页面,使用数据库中的用户名和密码尝试登录,验证是否可以成功登录。
#### 三、CAS工作原理CAS的工作原理主要分为以下几个步骤:1. **用户访问服务**:用户首次访问受保护的资源时,CAS客户端会检测到HTTP请求中缺少ServiceTicket(简称ST),表明用户尚未经过身份验证。
2. **重定向至CAS服务器**:CAS客户端会将用户重定向到CAS服务器进行身份验证,并携带用户的请求URL作为参数(service参数)。
3. **用户认证**:CAS服务器接收到来自用户的认证请求后,引导用户进入登录页面。
用户输入用户名和密码进行登录,若身份验证成功,则CAS服务器通过HTTPS协议返回一个TGC(Ticket-Granting Cookie)给浏览器。
4. **发放ServiceTicket**:CAS服务器生成一个随机的ServiceTicket(简称ST),并将用户重定向回CAS客户端。
5. **验证ServiceTicket**:CAS客户端收到ST后,向CAS服务器验证ST的有效性。
如果验证通过,则允许用户访问受保护资源。
6. **传输用户信息**:CAS服务器验证ST通过后,将用户的相关认证信息发送给CAS客户端。
通过以上步骤,CAS实现了单点登录的功能,极大地提升了用户体验和系统的安全性。
### 四、CAS与HTTPS在配置CAS服务器时,可以选择使用HTTPS协议来增强通信的安全性。
如果选择HTTPS协议,则需要在服务器上配置CAS证书。
证书的创建和导入过程可以参考以下链接:[http://m.blog..net/zrk1000/article/details/51166603](http://m.blog..net/zrk1000/article/details/51166603)### 总结本文详细介绍了如何配置CAS单点登录服务,并重点讲解了如何利用Java代码实现CAS的配置,包括使用数据库进行登录验证的具体步骤。
同时,还阐述了CAS的基本工作原理,帮助读者更好地理解CAS的工作流程和技术细节。
2025/6/15 19:47:19 293KB
1
对burp的使用,让你轻松抓取https包。
渗透、安全、攻防
2025/6/13 7:32:56 1KB burp
1
C#示例源码C#示例C#源码C#示例源代码C#源代码C#源代码例子C#例子注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#示例源代码》(13-16)、明日科技《C#示例源代码》(17-20)。
源代码目录:第1章 窗体及菜单设计实例001 自定义最大化、最小化和关闭按钮 2实例002 磁性窗体的设计 5实例003 鼠标穿透窗体 12实例004 窗体的浮动及隐藏 14实例005 手动改变自制窗体的大小 16实例006 自定义屏保 19实例007 向窗体中拖放图片并显示 22实例008 仿WindowsXP系统的任务栏菜单 26实例009 用树型列表动态显示菜单 28第2章 控件开发与应用实例010 自定义水晶按钮控件 34实例011 自制数值文本框组件 38实例012 美化单选按钮和复选按钮 43实例013 重绘ListBox控件 48实例014 带行数和标尺的RichTextBox 49实例015 根据文件大小显示文件复制进度条 54实例016 弹出模式窗口显示进度条 58实例017 Popup窗口提醒 61实例018 Vista风格的日历 64实例019 像Excel一样复制DataGridView中的单元格区域数据 69实例020 DataGridView中单元格合并及添加、显示行号 74实例021 从DataGridView控件中拖放数据到TreeView控件 78第3章 图形图像及多媒体应用实例022 生成中文验证码 86实例023 生成图片缩略图 88实例024 不失真压缩图片 90实例025 批量图像格式转换 93实例026 屏幕颜色拾取器 96实例027 为数码照片添加日期 98实例028 批量添加图片水印 100实例029 仿QQ截图功能 104实例030 屏幕抓图 107实例031 抓取网站整页面 109实例032 电子石英钟 113实例033 图片自动播放 115实例034 MP3播放器 118实例035 播放FLV文件 121实例036 Flash播放器 125第4章 报表打印技术实例037 自定义横向或纵向打印 130实例038 自定义打印页码范围 133实例039 分页打印 138实例040 打印条形码 141实例041 打印学生个人简历 145实例042 打印商品入库单据 148实例043 批量打印学生证书 150实例044 动态绑定水晶报表 153实例045 设计信封标签报表 157实例046 设计汇款单式报表 157第5章 鼠标键盘控制实例047 自定义动画鼠标 161实例048 鼠标设置器 163实例049 屏蔽鼠标按键 167实例050 虚拟键盘 172实例051 设置/屏蔽系统热键 182实例052 使用键盘控制窗体或控件的移动 189实例053 多功能键盘 190第6章 操作系统相关技术实例054 利用API设置桌面背景 196实例055 音乐风景桌面 198实例056 定时关闭计算机 201实例057 设置任务栏时间 205实例058 CPU使用率 206实例059 进程管理器 209实例060 数字大小写转换 212实例061 系统挂机锁 214实例062 全角半角转换 218实例063 动态系统托盘图标 221实例064 开机启动项管理 224实例065 显示器控制 228实例066 屏幕放大镜 231实例067 身份证号码验证工具 233第7章 文件及数据流应用实例068 文件批量更名 241实例069 分割与合成文件 244实例070 伪装文件夹 247实例071 获取所有逻辑磁盘目录 250实例072 汉字转拼音 253实例073 使用C#操作INI文件 255实例074 使用C#操作XML文件 257实例075 创建PDF文档 261实例076 批量将Word文档转换为HTML网页 263实例077 Word目录提取工具 265实例078 文件批量解压缩 269第8章 网络开发应用实例079 局域网端口扫描 276实例080 局域网IP地址扫描 280实例081 自动更换IP地址 283实例082 IP地址及手机号码归属地查询 28
1
适用于预装了Win7的PC,或者主板刷好了SLIC2.1证书的电脑,想改安装旗舰版的Windows7操作系统,激活原理与品牌机一致,100%安全,可靠,文件里有16个品牌的证书,使用方法也在文档里,很简单
2025/5/30 16:34:33 196KB windows 7 旗舰版 OEM版证书
1
visualstudio2017Enterprise离线安装包,43.69G中英文15.9.3版iso百度云,更新时间为2018年12月7日;
安装前请先安装certificates文件夹内的3个证书。
File:VisualStudio2017v15.9.3.isoSize:46909095936bytesModified:2018年12月7日,15:27:20MD5:AA5DB4B92B605654C010DF095FC908B5SHA1:B013792DE180F87AF7902F70E6D853C6C57578BDCRC32:918EA68D
1
GMT0034-2014基于SM2密码算法的证书认证系统密码及其相关安全技术规范
2025/5/25 16:11:52 4.62MB 国标
1
openssl-1.0.1c.tar.gz安装证书openssl
2025/5/24 3:05:05 4.25MB openssl
1
轻松GET、玩转POST、HTML分析、无视编码、验证码提取、Cookie分析互转、Url格式化、加密、代理IP、证书、Json数据分析、执行JavaScript.仅限于大家学习交流使用,请大家于24小时之内删除,谢谢!
2025/5/21 20:22:23 930KB HttpHelper
1
Flutter-Mqtts-esp8266物联网Flutter-mqtt客户端支持MQTTS双向加密通信,域名证书认证!Flutter-mqtt客户端支持:eps8266,nodemcu等.数据发送格式:{"SW":"A","onOff":"true"}SW代表开关,value值A,第一个,onOff代表开关状态,value值true是开,false是关.mqtt客户端,APP端订阅的是:topic='mqttMobile';//Notawildcardtopicesp8266客户端订阅的是:pubTopic='esp8266_client';
2025/5/5 3:40:57 332KB esp8266 mqtt mqtts 物联网
1
DELLT7920的戴尔电脑节能认证证书CQC20701240525(1).pdf戴尔节能证书
2025/4/22 23:24:48 482KB 戴尔节能证书
1
共 323 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡