0
点赞
收藏
分享

微信扫一扫

CAS-基于数据库认证

书写经典 2022-02-17 阅读 59
  1. 部署CAS 服务端,最简单的方式就是使用CAS官方提供的Overlay模板,通过它我们可以直接构建出任意版本的cas war 包。这里演示采用6.4版本,地址:https://github.com/apereo/cas-overlay-template/tree/6.4
  2. 新建一个cas数据库,新建一张用户表,脚本参考如下;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(255) DEFAULT NULL,
 `password` varchar(255) DEFAULT NULL,
 `expired` int(11) DEFAULT NULL,
 `disabled` int(11) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
//插入一条用户数据,用户名为admin,密码为admin,通过MD5加密
INSERT INTO `user` VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 0, 0);

3.生成签名证书,参考链接:Mac通过Keytool生成签名证书
4.通过idea打开cas-overlay-template-6.4项目,在src/main/resources/application.yml文件下添加如下信息:

# Application properties that need to be
# embedded within the web application can be included here
server:
  ssl:
    key-store: file:/Users/jiejie/Desktop/jiejie.keystore //证书
    key-store-password: 123456 //密钥
    key-password: 123456  //密钥
    enabled: true
cas:
  authn:
    jdbc:
      query:
        - dialect: org.hibernate.dialect.MySQLDialect
          driverClass: com.mysql.jdbc.Driver
          url: jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
          user: root
          password: 123456
          fieldPassword: password
          sql: select * from user where username=?
          passwordEncoder:
            type: DEFAULT
            characterEncoding: UTF-8
            encodingAlgorithm: MD5  //加密

基本参考复制以上信息就好,要修改的有证书地址,密钥,driverClass如果mysql驱动版本高的话,也要改,url,user,password改下即可。
5.此时项目可能会有些情况,由于cas6.4版本是基于Gradle构建的,idea打开项目,如果编译出现的一些问题,不熟悉Gradle的,排查起来很困难,此时换个方式,通过命令行进入cas-overlay-template-6.4项目,运行命令./gradlew clean build直接构建项目,如果是windows电脑,就用./gradlew.bat clean build命令(没试过,不过猜测是这样的),此时发现不会报错,正常构建。
6.构建过后,会发现cas-overlay-template-6.4项目下多了个build文件夹,找到war包,如下:
在这里插入图片描述

7.通过命令java -jar build/libs/cas.war启动这个war包,通过观察启动的一些日志信息,会发现此时已经引入了yml配置文件中我们定义的信息。
8.启动成功后,访问https://localhost:8443/cas/login,输入admin/admin,会发现该用户可以成功认证,不再只有写在配置文件的默认用户casuser了。

举报

相关推荐

0 条评论