博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CAS服务器配置
阅读量:5888 次
发布时间:2019-06-19

本文共 2766 字,大约阅读时间需要 9 分钟。

参考文献:

1.安装部署CAS Server

从官网下载CAS Server,今天发现CAS Server的官网居然被墙掉了,感叹天朝的神奇之处。后来从同事那里拷贝到了cas-server-3.5.2-release.zip。我将其发布到百度云盘上面:

解压缩这个ZIP包以后,到路径\cas-server-3.5.2-release\cas-server-3.5.2\modules下拷贝cas-server-webapp-3.5.2.war这个war包至tomcat的webapps目录下。为了登录方便,我们将cas-server-webapp-3.5.2.war重命名为cas.war,启动tomcat以后会自动解压缩这个war,在webapps目录下生一个一个cas目录。

2.验证CAS Server安装成功

启动tomcat,访问,如果能够出现以下界面就表示CAS Server部署成功。

虽然 CAS Server 已经部署成功,但这只是一个缺省的实现,在默认的server界面,只要输入用户名和密码相同,就可以登录,比如我们都输入aaa,然后点击登陆。

3.扩展认证接口(JDBC)

当然,在实际使用的时候,这样做肯定是不行的,还需要根据实际概况做扩展和定制,最主要的是扩展认证 (Authentication) 接口和 CAS Server 的界面。我们通常都会使用jdbc连接数据库进行认证,这种情况,用户名和密码被保存在数据库的某个表中。需要进行如下配置。

在MySQL数据库下创建一个叫做CAS的数据,然后在该数据库中创建一张app_user表,然后在这张表中插入数据,创建表和插入记录的sql脚本如下:

CREATE TABLE `app_user` (    `username` varchar(30) NOT NULL default '',    `password` varchar(45) NOT NULL default '',    PRIMARY KEY  (`username`)  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  --并添加如下用户:  INSERT INTO `app_user` (`username`,`password`) VALUES    ('test','111'),   ('user','222'),   ('tom','333'),   ('jim','000');

用编辑器打开%CATALINA_HOME%/webapps/cas/WEBINF/deployerConfigContext.xml,找到

将其注释掉,然后在同一级别下面添加一个bean,其内容如下所示:

然后在添加一个bean,这个bean是跟authenticationManager同一级别的,注意这个很重要,这个bean不是跟之前那个bean class同级。其内容如下:

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/cas
root
root

如果不想单独再创建一个bean id的话,可以通过通过如下配置完成,并且这个bean使用了密码校验,可以从数据表user中查询用户密码,并对密码进行MD5加密校验,这个认证器位于cas-server-support-jdbc包中。

然后从\cas-server-3.5.2-release\cas-server-3.5.2\modules目录下拷贝cas-server-support-jdbc-3.5.2.jar,再下载mysql-connector-java-5.1.26-bin.jar,将这两个文件拷贝到%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录下。

此时在登录,然后使用jim/000,test/111,tom/333,user/222,test/test,test/1234,可以发现,前面四组是可以通过验证的,而后面两组验证失败。通过验证以后,再次登陆,会提示已经登录,此时如果要注销,可以在输入:。

在配置文件中可以看到,这里的认证器配置的是一个list,默认情况下,只要有一个认证器通过认证,就认为是合法的用户,建议选择合适的认证器放在最前面。比如说,如果不注释之前的SimpleTestUsernamePasswordAuthenticationHandler这个认证器。

 

本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/p/3394394.html,如需转载请自行联系原作者

你可能感兴趣的文章
白话讲反射技术 --- 适合初学者入门引导
查看>>
css变形 transform
查看>>
Entity Framework 4 in Action读书笔记——第七章:持久化对象到数据库:使用SaveChanges持久化实体...
查看>>
Android安全讲座第八层 android应用的安装和卸载
查看>>
bootstrap-下拉菜单(菜单项状态)
查看>>
SQL Server中如何监控死锁(Deadlock)
查看>>
View State的知识
查看>>
Mysql压缩版forWindows安装与配置
查看>>
win7家庭版添加组策略编辑器
查看>>
iOS 一个开发者账号 多台Mac 共用
查看>>
Java函数不接受返回值调用
查看>>
lnmp环境搭建
查看>>
3.JUC之volatile
查看>>
oracle:win7手工卸载oracle数据库11g
查看>>
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
NPY and girls
查看>>
基于busybox搭建功能完善的小型linux(一)
查看>>
【转】在控制台、WinForm项目中的嵌入mdf文件的烦恼
查看>>
android The project target (Android 2.3.3) was not properly loaded
查看>>
【转】EDK简单使用流程(3)
查看>>