CAS框架本身的功能是用来做登录验证的,其中用到了spring webflow技术。
cas的服务端搭建有两种常用的方式:
1. 基于源码的基础上构建出来的
2. 使用WAR overlay的方式来安装
官方推荐使用第二种,配置管理方便,以后升级也容易。
WAR Overlay技术可以把多个项目 war 合并成为一个项目,如果项目存在同名文件,那么主项目中的文件将覆盖掉其他项目的同名文件。
下载cas-overlay-template版本
下载地址:https://github.com/apereo/cas-overlay-template
打开网址,点击左上角的Branch master可以选择要下载的版本
在cmd,运行”build.cmd run”,编译文件,编译完成以后,会在所在目录生成一个target文件夹,进入target文件夹,可以看到一个扩展名为.war的文件。
Overlay 构建
工程 overlays 目录下的文件是由 maven 编译后才产生的。
拷贝 overlays 目录下的 application.properties 配置文件至 resources 目录,用于覆盖 CAS WAR 中的同名文件。
为工程配置 tomcat 8.0 并启动,注意 CAS 5.2.x 不支持低于 tomcat 8.0 的版本。
参考:https://www.jianshu.com/p/38ef692afcec
去除HTTPS
原因:cas默认支持https,http不能访问。
网站有HTTP和HTTPS两种协议。HTTP是浏览器到网站之间是明文传输,比如你输入帐号名和密码点击登录,那帐号名和密码在中间传输过程中有泄漏的风险。HTTPS是浏览器和网站之间加密传输,使用的非对称加密方式,所以非常安全。目前各大网站的登录基本都是用了HTTPS服务。
修改 WEB-INF/classess/application.properties
修改WEB-INF/classess/services/HTTPSandIMAPS-10000001.json
修改JDBC认证
修改 WEB-INF/classess/application.properties,将默认的静态用户名和密码配置注释掉,添加jdbc认证
修改pom.xml 配置,添加数据库驱动,以及 jdbc的支持
建表脚本
CREATE TABLE `user_info` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT '' COMMENT '用户名',
`password` varchar(256) DEFAULT NULL COMMENT '登录密码',
`name` varchar(256) DEFAULT NULL COMMENT '用户真实姓名',
`id_card_num` varchar(256) DEFAULT NULL COMMENT '用户身份证号',
`state` char(1) DEFAULT '0' COMMENT '用户状态:0:正常状态,1:用户被锁定',
PRIMARY KEY (`uid`),
UNIQUE KEY `username` (`username`) USING BTREE,
UNIQUE KEY `id_card_num` (`id_card_num`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;