简介:
### 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
开发工具Web应用程序是独立的.jar和可部署.war(Tomcat),具有FileWalker等功能,带有通过SQL查询进行递归DBUnit导出器SQL编辑器,WebShell和Groovy编辑器安装要求Java8(JDK)阿帕奇Maven网页浏览器用Maven构建使用Mavenmvncleaninstall构建启动应用程序作为JAR运行(参数是可选的)java-Dsqleditor-jdbc-url=jdbc:mysql://localhost:3306/classicmodels\-Dsqleditor-jdbc-url="jdbc:sqlserver://localhost:1433;databaseName=classicmodels"\-Dsqleditor-username=root\-Dsqleditor-passw
2025/5/19 7:47:32 8.84MB Java
1
开发工具:MyEclipse10,JDK1.7,Tomcat7,MySql5.5.60【项目包含内容】(见下图):【sechandmall】项目源代码【sechandmall.sql】数据库脚本【实例功能】1.首页显示滚动图片,商品,商品公告,商家信息2.商家登录,商家后台管理3.买家登录,买家后台管理4.管理员登录,管理员后台管理【项目配置】1.数据源配置第一个参数:数据源地址第二个参数:用户名/密码conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sechandmall","root","root");2.导入数据库脚本sechandmall.sql登录用户:管理员【admin/123】,买家【buyer01/123】,卖家【seller01/123】3.导入jar包库WEB-INF/lib
2025/1/8 21:28:27 9.43MB Java编程 前端后端语言 数据库
1
下载后文件根目录下有两个GIF图,分别描述管理员操作和顾客操作大概使用说明:1、数据库使用MySQL2、图形界面使用java的JFrame3、导入数据看:将supermarketdb.sql文件导入数据库中后4、修改项目根目录下的c3p0-config.xml的配置文件:com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/supermarketdbroot123第一个参数:为修改连接数据库的驱动,MySQL的驱动包是这个,不用修改第二个参数:只用修改数据库的名字,如果是MySQL的数据库的话,本项目使用supermarketdb这个数据库,即导入的那个.sql文件第三个参数:数据库的用户名,根据自己情况修改第四个参数:数据库连接的密码,根据自己情况修改比较适合初学java的新手和练习数据库的同学
2024/8/2 18:32:54 47.69MB 数据库课设 java课设 商品管理系统
1
使用方法:一.空间架设1.申请空间2.配置空间3.上传程序4.修改配置文件根目录config.php网站名称,网址,数据库配置无需修改。
5.执行http://网址/install安装结束后删除install文件夹,修改admin地址6.配置淘宝授权http://open.taobao.com加入开放平台=>创建应用=>填写回调URL(在程序后台API配置获取http://网址/U/)=>创建=>应用证书(复制AppKeyAppSecret到后台API配置)=>淘宝授权=>完工7.宝贝同步,设置发货形式即可。
二.自己空间架设修改配置文件config.php///////////////////////////////////////////////////////$dbhost=SAE_MYSQL_HOST_M;//数据库ip地址$dbuser=SAE_MYSQL_USER;//数据库用户名$dbpwd=SAE_MYSQL_PASS;//数据库密码$dbname=SAE_MYSQL_DB;//数据库名$dbport=SAE_MYSQL_PORT;//数据库端口$db_prefix=”t_”;把配置修改成自己的数据库即可。
$dbhost=“localhost”;//数据库ip地址$dbuser=“root”;//数据库用户名$dbpwd=“123456″;//数据库密码$dbname=“waiwailicom”;//数据库名$dbport=3306;//数据库端口$db_prefix=”t_”;执行install即可其他和免费空间架设一样
2024/7/16 20:46:19 288KB 淘宝 自动发货 提货 源码
1
本人实践可抓到3306鸡,特此附上工具与详细操作笔记,缺点是3306IP段比较少需要靠各位自己了
2024/5/3 0:52:53 2.12MB 抓鸡 shell 抓鸡工具
1
mysql5.6绿色免安装版,支持3306-3308共4个端口,一键安装,一键卸载。
默认配置需要放在d盘下
2024/2/16 11:14:47 29.76MB mysql5.6 绿色 免安装
1
3306爆破工具,支持批量爆破。
此工具仅用于学习及安全加固。
2023/11/12 9:47:13 1.14MB 3306
1
跟给力的3306自动抓鸡傻瓜化操作!
2023/10/18 17:46:05 3.62MB 3306 自动抓鸡 破解版 冷夜雨自动抓鸡
1
机房管理系统,大概介绍:本课设既可作为数据库课程设计也可以作为java的课程设计。
下载完后,有一个GIF动图演示管理员和用户的相关操作。
1、客户端使用javaGUI来编写界面2、数据库使用MySQL数据库3、连接数据库操作使用jdbc语句。
修改数据库连接的配置文件:com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/commaroot123第一个参数:数据库驱动名,按公司数据库类型不同而异第二个参数:同上,IP端口号,数据库名第三个参数和第四个参数:连接数据看的账号密码
1
共 15 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡