简介:
### 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
vs2015+数据库,需要建的数据表如下:1.“考试成绩管理系统用户登录”功能具体要求:(1)按照图示排列相应的控件,控件名称自定义,其中,界面中的图片可以不加;
(2)当输入正确的用户名和密码时,登录到主系统,如图所示,并且用户名或密码输入不正确时系统有所提示;
当单击【取消】按钮时,用户名和密码被清空;
(3)程序中用到的数据库名为SCOREINFO,数据表名为userinfo,数据表结构如下图所示:(4)数据表中的用户名和密码如下图。
2.点击主窗体的“密码修改”菜单,完成“密码修改”功能,程序运行如下图所示:具体要求:(1)此题必须使用数据库连接完成,原始密码必须为数据表里原有的数据,不使用数据库完成的为0分。
(2)需要建立数据库SCOREINFO及数据表userinfo,表的结构及数据第一部分的内容:(3)要有“原始密码输入错误”、“原始密码不能为空”及“两次输入密码不一致”的错误提示;
(4)当单击【保存】按钮,新密码被更新到数据表中,不能更新的为0分;
(5)单击【关闭】按钮,窗口关闭。
(6)3个Label;
3个TextBox;
2个Button3.完成“成绩查询”功能,程序运行如下图所示:具体要求:(1)按照图示排列相应的控件,界面下方是DataGridView控件;
(2)程序用到的数据库名为SCOREINFO,数据表名为score,表结构如下:(3)完成的MainForm_Load事件处理程序:当加载窗体时,直接在窗体的dataGridView1控件中显示数据表的所有记录;
(4)可以设查询条件:首先在组合框comboBox1中选择查询条件,并在textBox1中输入条件值(可以模糊查询,如按照姓名查询时,输入“王”,可以查所有姓王的同学的成绩),单击查询将结果显示在dataGridView1控件中。
(5)所需控件及属性:1个GroupBox,1个Label,Text为选择查询条件;
1个ComboBox(Items:学号、姓名);
1个TextBox;
1个Button,Text为查询;
1个DataGridView4.完成“课程信息修改”功能,程序运行如下图所示:具体要求:(1)按照图示排列相应的控件,控件名称自定义,其中,程序刚开始运行时,“学分”和“课程编码”的文本框是只读的;
(2)在数据库名为SCOREINFO中,创建数据表名为course,表结构如下:(3)当单击【查询】时,直接在窗体的dataGridView2控件中显示数据表的所有记录;
(4)当选中DataGridView控件中的某一行记录时(DataGridView控件的Mouse_Click事件),“课程名字”、“学分”、“课程代码”文本框中分别显示该项对应的课程信息;
(5)当选中某一行记录并单击【编辑】按钮时,【编辑】按钮变为【保存修改】,同时“学分”和“课程编码”的文本框恢复正常(ReadOnly属性为false);
在文本框中修改相应的信息后单击【保存修改】,将修改后的数据更新到数据表中。
(6)所需控件及属性:1个GroupBox,3个Label;
3个TextBox(textBox2属性ReadOnly为True,textBox3属性ReadOnly为True);
2个Button;
1个DataGridView5.完成“课程信息删除”功能,程序运行如下图所示:具体要求:(1)按照图示排列相应的控件,控件名称自定义,其中,程序刚开始运行时,“学分”和“课程编码”的文本框是只读的;
(2)数据表名为course,表结构同第4部分:(3)当单击【查询】时,直接在窗体的dataGridView控件中显示数据表的所有记录;
(4)当选中DataGridView控件中的某一行记录时,“课程名字”、“学分”、“课程代码”文本框中分别显示该项对应的课程信息;
(5)当选中某一行记录并单击【删除】按钮时,则该行从数据表中删除。
(6)所需控件:3个Label;
3个TextBox(textBox2属性ReadOnly为True,textBox3属性ReadOnly为True);
2个Button;
1个DataGridView6.完成“课程信息添加”功能,程序运行如下图所示:具体要求:(1)按照图示排列相应的控件,控件名称自定义;
(2)程序用到的数据库和数据表名为course,表结构如下同第四部分:(3)当单击【查询】时,直接在窗体的dataGridView1控件中显示数据表的所有记(4)当选中DataGridView控件中的某一行记录时,“课程名字”、“学分”、“课程代码”文本框中分别显示该项对应的课程信息;
2025/6/5 11:50:53 412KB 学生管理系统 源代码 C#
1
这是一个完整的MVC网上商城项目,有前台界面和后台管理,用户改一下数据库连接就可以使用。
2025/6/4 19:08:25 13.77MB 网上商城 MVC模式 完整项目
1
java编译器链接sqlserver相关的安装程序概述由于在互操作性方面的不懈努力,Microsoft已经发布了MicrosoftJDBCDriverforSQLServer的4.0版。
所有SQLServer用户都可以免费下载MicrosoftJDBCDriver4.0forSQLServer,并可以从任何Java应用程序、应用程序服务器或支持Java的小程序访问Microsoft®SQLServer®2012、SQLServer2008R2、SQLServer2008、SQLServer2005和SQLAzure。
这是一个Type4JDBC驱动程序,它通过JavaPlatformEnterpriseEdition5和6中可用的标准JDBC应用程序编程接口(API)提供数据库连接。
JDBC驱动程序的这一发行版与JDBC4.0兼容,并在Java开发工具包(JDK)版本5.0或6.0上运行。
返回页首系统要求支持的操作系统:Linux,Unix,Windows7,WindowsServer2008R2,WindowsVista•上面的列表是某些受支持的操作系统的示例。
JDBC驱动程序可在任何支持使用Java虚拟机(JVM)的操作系统上工作。
但是,只有SunSolaris、SUSELinux以及Windows操作系统经过了测试。
•Java开发工具包:5.0和6.0受支持的SQLServer版本:•Microsoft®SQLServer®2012•Microsoft®SQLServer®2008R2•Microsoft®SQLServer®2008•Microsoft®SQLServer®2005•Microsoft®SQLAzure返回页首说明JDBCDriver的MicrosoftWindows版本安装说明注意:下载MicrosoftJDBCDriver4.0forSQLServer则表明您接受此组件的《最终用户许可协议》(EULA)的条款和条件。
请查看此页上的《最终用户许可协议》(EULA)并打印一份EULA以供备案。
1.将sqljdbc__.exe下载到一个临时目录。
2.运行sqljdbc__.exe.3.按照提示输入安装目录。
我们建议您将此zip文件解压缩到%ProgramFiles%中的默认目录下:"MicrosoftJDBCDriver4.0forSQLServer"。
4.在软件包解压缩之后,通过打开%InstallationDirectory%\MicrosoftJDBCDriver4.0forSQLServer\sqljdbc_\\help\default.htm以打开JDBC帮助系统。
此时将在Web浏览器中显示帮助系统。
JDBCDriver的UNIX版本安装说明1.将sqljdbc__.tar.gz下载到一个临时目录。
2.若要解压缩此压缩的tar文件,请导航至要解压缩驱动程序的目录中,然后键入gzip-dsqljdbc__.tar.gz.3.若要解压缩tar文件,请将其移至您要安装驱动程序的目录中,然后键入tar–xfsqljdbc__.tar.。
4.在软件包解压缩之后,通过打开%InstallationDirectory%/MicrosoftJDBCDriver4.0forSQLServer/sqljdbc_//help/default.htm以打开JDBC帮助系统。
此时将在默认的Web浏览器中显示帮助系统。
返回页首
2025/5/31 0:41:43 4.26MB sqlserver jdbc
1
改一下数据库连接语句就可以使用了,顺便加了一些小功能,符合现在的新的jre
2025/5/3 14:33:32 2.06MB jsp
1
这是我在学校老师花了十分钟给我讲解php运行环境后,回来就写出来的一个练习,包括数据库连接、批量操作数据、前台后台一并、清楚,适合初学者,我花了一天,你看到了我写的源码可能会理解的更快,有些函数不明白的有注释,如果注释不清楚就百度一下吧!带数据库,连接数据库是单独的一个文件夹,改成你的用户名密码即可,是mysql数据库
2025/4/22 12:36:13 407KB php 增删改查 源码 php+mysql
1
Java实现的一个连接MySQL的超市管理系统,但是没有前端界面,包含数据库文件。
解压直接即可运行(修改数据库连接账号密码)
2025/4/20 11:31:23 783KB java 超市管理系统 mysql
1
本设计具有一般电子商务的功能,且体现出校园风格。
该系统提供的功能包括注册、查询信息、发布信息、找回密码等。
本系统的特点在于应用了PHP技术。
它是一种简单的动态脚本语言,具有开放源码、执行速度快的特点。
该技术还支持广泛的数据库连接,具有大量的扩展库,安全性能高,易学易用
2025/4/14 3:43:42 939KB 校园二手交易
1
qt实现连接sqlserver数据库连接池
2025/3/31 16:17:11 5KB qt C++ sqlserver
1
源程序中存放的是用ASP技术开发的一个电子商务网站。
本程序是运用ASP+SQLServer开发的,因此需要机器上安装SQLServer2000。
另外,还需要进行一下其他基本的配置:1.安装IIS(安装方法(略))2.设置IIS:(1)“开始”—>“设置”—>“控制面板”,在“控制面板”中双击“管理工具”,在“管理工具”中双击“Internet服务管理器”图标。
(2)在“Internet服务管理器”对话框中双击计算机名,然后右击“默认Web站点”,从弹出的菜单中选择“属性”菜单,打开“默认Web站点属性”对话框(3)单击“文档”选项卡,点击“添加”按钮,输入“index.asp”,单击“确定”3.在IIS下建立虚拟目录:(1)“开始”—>“设置”—>“控制面板”,在“控制面板”中双击“管理工具”,在“管理工具”中双击“Internet服务管理器”图标。
(2)在“Internet服务管理器”对话框中双击计算机名,然后右击“默认Web站点”,选择“新建”—>“虚拟目录”(3)在“虚拟目录创建向导”中输入虚拟目录的名字,—>“下一步”—>找到源程序所在的文件夹—>单击“确定”4.在SQLServer下附加数据库:(1)打开“企业管理器”,依次展开控制台根目录中的各个选项,在“数据库”文件夹上单击右键,选择“附加数据库”(2)在“附加数据库”向导中找到“源程序”文件夹下的“eshop.mdf”文件,单击确定。
5.运行程序方法:在浏览器的地址栏输入“localhost/(虚拟目录的名字)”。
如:localhost/hj。
其中hj是建立的虚拟目录的名字。
6.在源程序中有一个conn.asp的文件,是数据库连接的文件。
其中有一句话是:connstr="driver={SQLServer};server=(local);UID=sa;PWD=;DATABASE=eshop"其中“pwd=;”后面跟的是SQLServer的密码,由于在建立的时候,本人的SQLServer是空密码,所以pwd后面什么都没有,如果运行的机器上SQLServer上有密码,就在pwd后面加上密码。
2025/3/24 21:54:31 305KB asp sql 系统 考试
1
共 305 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡