简介:
### 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
libX11的一个支持包,具体用法见《交叉编译libX11》http://write.blog.csdn.net/postedit/42028985
2025/6/15 14:17:33 367KB libxcb
1
用Qt实现的跨平台窗体缩放,详见博客:http://blog.csdn.net/caoshangpa/article/details/78543165
2025/6/14 20:45:18 261KB Qt 界面
1
浅墨出品,零资源分下载,分享精神至上~运行可以看到两幅图中的SURF特征点检测效果,为稍后将放出的特征点匹配做准备~程序的核心部分为OpenCV中的SurfFeatureDetector类和SurfDescriptorExtractor类。
博文《【OpenCV入门教程之十七】OpenCV重映射&SURF特征点检测合辑》的配套详细注释源代码之一。
博文链接:http://blog.csdn.net/poem_qianmo/article/details/309745131.已将dll打包到Release文件夹下,运行Release文件夹中的exe可以直接看到运行结果.2.源代码运行需要进行OpenCV+VS开发环境的配置。
可以参看我写的配置博文:http://blog.csdn.net/poem_qianmo/article/details/198093373.编写环境:VisualStudio20104.写作当前代码时配套使用的OpenCV版本:2.4.95.推荐代码结合博文一起看,学习效果更佳。
by@浅墨_毛星云
2025/6/14 14:35:17 2.13MB OpenCV SURF C++ 图像处理
1
通过ADMM来求解目标跟踪算法SRDCF的代码,具体算法原理可参考博客https://blog.csdn.net/qq_17783559/article/details/82965747
2025/6/13 14:57:02 2.07MB 相关滤波 目标跟踪 ADMM
1
这个关于怎么实现UKF的代码,关于实现步骤及实现过程可看我的博客:https://blog.csdn.net/caokaifa/article/details/83041371
2025/6/12 15:41:30 3KB matlab UKF
1
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。
BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。
Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用该app作为辅助工具还是非常不错的,功能较Bluetooth4_3BLEDemo这两个demo都强大。
不过Android_Lightblue.apk在android5.0以上的版本手机上运行不起来,我也没有该app的源码。
看看后面会不会有更新。
对应博客地址:http://blog.csdn.net/chenliqiang12345678/article/details/50504406
2025/6/12 12:55:54 2.41MB 蓝牙4.0 BLE Lightblue
1
AdaBoost算法有AdaBoost.M1和AdaBoost.M2两种算法,AdaBoost.M1是我们通常所说的DiscreteAdaBoost,而AdaBoost.M2是M1的泛化形式。
关于AdaBoost算法的一个结论是:当弱分类器算法使用简单的分类方法时,boosting的效果明显地统一地比bagging要好.当弱分类器算法使用C4.5时,boosting比bagging较好,但是没有前者明显。
后来又有学者提出了解决多标签问题的AdaBoost.MH和AdaBoost.MR算法,其中AdaBoost.MH算法的一种形式又被称为RealBoost算法---弱分类器输出一个可能度,该值的范围是整个R,和与之相应的权值调整,强分类器生成的AdaBoost算法。
Python实现该算法。
adabbost原理见博客http://blog.csdn.net/suipingsp/article/details/41722435
2025/6/12 10:39:13 72KB python json 机器学习 adaboost
1
本资源里有有效的CDD图像修复的matlab程序,程序里是正确的曲率K计算公式,还有有效的TV模型matlab程序,CDD修复效果见博客http://blog.csdn.net/cs_o_1/article/details/52943306提醒:CDD模型不具有较好的收敛性,迭代次数得上千,效果才比较好,博客中CDD修复的迭代次数达到2000次
2025/6/12 1:37:31 6.29MB CDD图像修复
1
LogCollector是一套基于ETL数据分析模型的分布式数据流系统,同时适用于云域内网数据传送和跨云数据传送;
同时支持Windows和Linux双系统平台(内置JRE8.X);
同时支持实时传送、离线传送和断点续传;
同时支持组件化集成、服务化管理和插件化扩展;
同时支持单机单实例、多实例部署以及跨云级别的分布式集群部署,分布式场景下通过过载熔断事务反馈机制来保障各子系统数据一致性,收集器可一键安装部署,自动识别系统环境并完成相应配置,无需任何附加操作,解压开箱即用。
该系统框架的功能和性能可直接秒杀ELK、Flume、Kettle等数据流工具,系统框架使用说明参考如下地址:https://blog.csdn.net/lixiang2114/article/details/114239052
2025/6/10 19:29:46 167.47MB ETL ELK Flume Kettle
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡