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.修改./build.gradle,加上相关依赖:

implementation "org.apereo.cas:cas-server-webapp-init:${project.'cas.version'}"
implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
implementation "org.apereo.cas:cas-server-support-jdbc:${project.'cas.version'}"
implementation "org.apereo.cas:cas-server-support-jdbc-drivers:${project.'cas.version'}"
implementation "mysql:mysql-connector-java:5.1.46" //版本自定义

如下:

5.通过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.MySQLDialectdriverClass: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaiuser: rootpassword: 123456fieldPassword: passwordsql: select * from user where username=?passwordEncoder:type: DEFAULTcharacterEncoding: UTF-8encodingAlgorithm: 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了。

CAS-基于数据库认证相关推荐

  1. SpringSecurity系列之基于数据库认证

    SpringSecurity系列之基于数据库认证 本文中所使用的技术栈如下: SpringBoot 2.6.2 MyBatis Plus 3.5.0 SpringSecurity 5.6.1 一.创建 ...

  2. Spring Security基于数据库认证用户登录

    Spring Security为我们提供了默认的登录页面,通过重写以AuthenticationManagerBuilder为参数的configure方法,我们可基于各种数据存储来认证用户,比如内存. ...

  3. jasig CAS实现单点登录(数据库认证)

    之前转载了一篇IBM的CAS单点登录实现,不过瘾,于是到官网弄下最新版本来再战一把: 这个CAS(Central Authentication Service)是耶鲁大学的开源项目,旨在实现企业应用单 ...

  4. Spring Security 基于数据库的认证

    介绍 之前使用的全是基于内存的认证,这里使用基于数据库的认证. 设计数据表 这里设计数据表 创建项目 这里使用Mybatis作为项目. 添加如下依赖 添加driud连接池依赖 <dependen ...

  5. CAS配置数据库,实现数据库用户认证

    CAS配置数据库,实现数据库用户认证 1.建库建表 说明:自己创建数据库,以下为建表SQL语句 DROP TABLE IF EXISTS `t_cas`; CREATE TABLE `t_cas` ( ...

  6. CAS单点登录-配置数据库认证方式

    接下来,说一下配置数据库认证单点登录 如果你之前的单点登录搭成功了,之后就简单多了,只需要添加一些配置和jar包即可.若未成功,请参考CAS单点登录入门配置 步骤: 1.引入相关jar包 2.创建数据 ...

  7. Apereo CAS 5.0.X 配置数据库认证方式

    Apereo CAS 5.0.X 使用Spring Boot的方式重构了项目,配置也发生了很大的变化.配置文件都在cas项目下的WEB-INF/classes目录下面,配置文件较多,后边详细说,这里先 ...

  8. Spring Boot安全管理—基于数据库的认证

    基于数据库的认证 1. 设计数据库表 首先设计一个基本的用户角色表,一共三张表,分别是用户表.角色表以及用户角色关联表. SET FOREIGN_KEY_CHECKS=0;-- ----------- ...

  9. security基于数据库的认证(二)

    @TOC 前言:在security初体验(一)里,用户名和密码的认证都是基于内存级别的,本章主要是说security如何从db里取用户名和密码来验证的. 1.准备的sql DROP TABLE IF ...

  10. CAS统一登录认证(1): 搭建 CAS Server

    搭建 CAS Server 一.CAS单点登录-简介 1.1 CAS 简介 CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项 ...

最新文章

  1. 快速给shell脚本加上使用提示
  2. Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取
  3. Perl 模块安装总结
  4. 华为q1设置虚拟服务器,如何使用华为华为Q1 Q1互联网路由设置图文教程 | 192.168.1.1手机登陆...
  5. 考研编程练习----快速排序
  6. iheatmapr包:可交互的热图绘制方法
  7. 一个用于学习的react项目
  8. 荣耀平板5升级鸿蒙,荣耀能否“升级”鸿蒙?赵明正式确认:华为做得好会考虑采用!...
  9. bzoj 3872 [ Poi 2014 ] Ant colony —— 二分
  10. 帆软决策报表全页面刷新或局部组件定时刷新
  11. 如何在阿里云国际上设置邮箱主机
  12. python支持多种编程范式吗_理解真格量化的Python编程范式
  13. 新创建了用户没有计算机图标,w10我的电脑图标没了怎么办
  14. 计算机组装日记,求微机组装与维护实习日记?
  15. 唐山盐碱滩成渤海明珠 国稻种芯·中国水稻节:河北曹妃甸大米
  16. 崇寿小学计算机编程,宁波第一!崇寿这个学校的孩子们棒棒哒
  17. Mac电脑快速切换输入法!自动切换输入法!
  18. springboot项目中访问不到html页面问题
  19. 自动浇花系统的电路分析
  20. lsof Linux

热门文章

  1. 神经网络 注意力机制 Q K V 理解
  2. 用C语言对单词首字母进行排序,c语言单词排序
  3. 判断一个点是否在圆内
  4. Lambda基本语法及使用
  5. Linux shell脚本
  6. 转发:任正非寄语2010:开放、妥协与灰度
  7. visio使用小知识
  8. 【数据库系统工程师】第13章 云计算与大数据处理
  9. Java8的日期-时间学习
  10. java 比较当前时间_java时间比较