简介:
### 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
欢迎使用Live-DL保存直播,本工具通过FFmpeg保存直播流,CPU占用极低。
支持录制所有RTMP方式推流的直播网站,如哔哩哔哩等Step1.复制直播流地址到窗口(直播流地址可以通过Chrome浏览器F12“检查”功能获得,切换到Network选项卡,刷新页面,最长的一条就是)Step2.输入保存的文件名(文件会保存为“当天日期+你输入的名字.mp4”)Step3.选择保存路径a.保存在当前文件夹b.保存在E:\ReliveSavec.自定义路径(例如C:\users\yourname\desktop\)按Q可停止
2025/6/10 15:34:55 15.54MB 直播 直播保存 直播录像
1
找了两个小时,从Google上找到的英文资料,关于Visio画N-S图的一些问题。
Visio需要以前的版本才能找到Nassi-Schneidermandiagram。
模板可以直接导进2003里面直接使用。
IsMicrosoftwillingtoaddaNassi-SchneidermandiagramStencilforVisio2003Profordownloadoffitswebsite?IknowIhadahardtimefindingononline,anddidnotownVisio2002.Ican'tevenimaginethefustrationotherstudentshaveprobablyhad.Ifinallyendedupuploadingthemathttp://users.tm.net/tonietienneformyclassmates.
2025/5/28 3:25:56 179KB Visio N-S图 Visio2003 Visio2000
1
FontCreatorProfessional软件简介:FontCreator是一款易用的字体制作、字体编辑软件。
它可以创建、修改ttf,otf,ttc格式的字体文件,并生成可在任意设备使用的标准字体文件。
是Windows系统下制作编辑字体的必备软件。
使用方法:使用FontCreator_v9.0注册工具.rar里面的注册工具算出序列号后,它将询问是否导入到注册表中,此时先不要点“是”;
此时打开C:\Users\Administrator\AppData\Local\Temp\hlfc8.reg文件,修改“[HKEY_CURRENT_USER\Software\High-Logic\FontCreator\8.0\”为“[HKEY_CURRENT_USER\Software\High-Logic\FontCreator\9.0\”,再手动导入到注册表中,即可完成专业版的注册。
注意:注册机算号界面可以自定义用户名(第一个输入框)和机构(第二个输入框),它不支持中文,填入中文将会注册失败!注册后切勿上网检查最新版本,一经检查,注册码就可能失效。
在软件的选项-高级-检查更新,设置为“从不”(最好用防火墙禁止它联网)。
注册机可能为杀毒软件报毒,不会危及到您个人隐私;
如不放心请勿使用;
可直接导入本压缩包事先准备的hlfc9.reg文件导入到注册表中。
2025/4/8 18:51:16 11.66MB FontCreator 字体设计软件
1
个功能强大的应用程序可让您在手机上运行FTP服务器,并帮助您的朋友或您通过Internet访问/共享文件。
它还可以帮助您不要使用设备的USB端口来延长设备的使用寿命。
也称为Wifi文件传输或无线文件管理。
应用程序功能√使用设备中的任何网络接口,包括:Wi-Fi,以太网,网络共享...√多个FTP用户(包括匿名用户)•允许每个用户是否显示隐藏文件√每个用户的多个访问路径:内部存储或外部sdcard中的任何文件夹•可以在每个路径上设置只读或完全写访问权限√被动和主动模式:支持同时传输文件√您的路由器上自动打开端口:无处不在地球上访问文件对于测试的路由器列表,请在应用程序的帮
2025/3/11 20:11:17 5.57MB FTP Server Multiple users
1
自述文件用户テーブル柱子类型选项姓名细绳null:假电子邮件细绳null:假密码细绳null:假协会has_many:users_eventshas_many:events,通过:users_events活动テーブル柱子类型选项姓名细绳null:假年整数null:假月整数null:假天整数null:假start_hour整数null:假start_minute整数null:假投文本null:假地方细绳null:假price_future细绳price_today细绳null:假票务链接细绳协会has_many:users_eventshas_many:users,通过:users_eventsusers_eventsテーブル柱子类型选项用户参考null:fa
2025/1/17 10:22:39 2.23MB Ruby
1
windows下修改文件编码工具,可批量处理C:\Users\test>iconv-helpUsage:iconv[-c][-s][-ffromcode][-ttocode][file...]or:iconv-l
2024/11/19 3:54:34 523KB 编码
1
maven3.2下载,支持jdk1.51.61.7,maven仓库配置默认情况下,jar包的本地库位置为:用户\.m2\repository我要为:C:\Users\zqs\.m2\repository不想让其占用系统盘,自建一个目录放置本地库,如:D:\developeTool\maven\houseware目录名可以随便取四eclipse配置eclipse4以上都带有maven,现在我要用我们的maven,在eclipse中需要配置一下,在windows/preferences下maven-_-installetions,指定目录:D:\developeTool\maven\apache-maven-3.2.5maven-_-usersetting指定配置文件:D:\developeTool\maven\apache-maven-3.2.5\conf\settings.xmlupdatesetting后,再在localrepository中指定本地仓库:D:/developeTool/maven/housewaremaven的配置就算完成了!
2024/11/9 15:41:57 7.59MB maven
1
发帖求助Traceback(mostrecentcalllast):File"C:/Users/DELL/Desktop/sheepai.py",line6,insheep=ChatBot("艾酪")File"C:\Users\DELL\AppData\Local\Programs\Python\Python38\lib\site-packages\chatterbot\chatterbot.py",line41,in__init__self.storage=utils.initialize_class(sto
2024/8/9 1:17:16 589B python
1
开发一个小型动态网站,实现用户注册、登录、浏览商品、选购商品等功能。
二、实验内容1、开发一个小型动态网站,实现用户注册、登录、浏览商品、选购商品等功能。
2、各页面功能:(1)Reg.html:注册表单中至少要有用户名、密码,提交后转到后台reg.asp处理;
(2)reg.asp:使用request对象接收注册信息,把用户名、密码保存到users表里,然后重定向到登录页面Login.html;
(3)Login.html:在登录表单里输入用户名、密码,提交后转到shop.asp;
登录页面和注册页面要互有超级链接;
(4)Login.asp:接收登录时输入的用户名、密码,与数据库中的users表中的用户名、密码比较:如果都相等则登录成功,页面将重定向到购物页面Shop.html,里面有商品浏览信息,用户可以从中选择自己想要的商品。
如归登录失败,重定向到登录页面Login.html重新登录,未注册的可以由登录页面上的超级链接转到注册页面去注册;
2024/7/7 2:33:10 387KB 小型动态网站的开发
1
共 64 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡