CAS-基于数据库认证
- 部署CAS 服务端,最简单的方式就是使用CAS官方提供的Overlay模板,通过它我们可以直接构建出任意版本的cas war 包。这里演示采用6.4版本,地址:https://github.com/apereo/cas-overlay-template/tree/6.4
- 新建一个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-基于数据库认证相关推荐
- SpringSecurity系列之基于数据库认证
SpringSecurity系列之基于数据库认证 本文中所使用的技术栈如下: SpringBoot 2.6.2 MyBatis Plus 3.5.0 SpringSecurity 5.6.1 一.创建 ...
- Spring Security基于数据库认证用户登录
Spring Security为我们提供了默认的登录页面,通过重写以AuthenticationManagerBuilder为参数的configure方法,我们可基于各种数据存储来认证用户,比如内存. ...
- jasig CAS实现单点登录(数据库认证)
之前转载了一篇IBM的CAS单点登录实现,不过瘾,于是到官网弄下最新版本来再战一把: 这个CAS(Central Authentication Service)是耶鲁大学的开源项目,旨在实现企业应用单 ...
- Spring Security 基于数据库的认证
介绍 之前使用的全是基于内存的认证,这里使用基于数据库的认证. 设计数据表 这里设计数据表 创建项目 这里使用Mybatis作为项目. 添加如下依赖 添加driud连接池依赖 <dependen ...
- CAS配置数据库,实现数据库用户认证
CAS配置数据库,实现数据库用户认证 1.建库建表 说明:自己创建数据库,以下为建表SQL语句 DROP TABLE IF EXISTS `t_cas`; CREATE TABLE `t_cas` ( ...
- CAS单点登录-配置数据库认证方式
接下来,说一下配置数据库认证单点登录 如果你之前的单点登录搭成功了,之后就简单多了,只需要添加一些配置和jar包即可.若未成功,请参考CAS单点登录入门配置 步骤: 1.引入相关jar包 2.创建数据 ...
- Apereo CAS 5.0.X 配置数据库认证方式
Apereo CAS 5.0.X 使用Spring Boot的方式重构了项目,配置也发生了很大的变化.配置文件都在cas项目下的WEB-INF/classes目录下面,配置文件较多,后边详细说,这里先 ...
- Spring Boot安全管理—基于数据库的认证
基于数据库的认证 1. 设计数据库表 首先设计一个基本的用户角色表,一共三张表,分别是用户表.角色表以及用户角色关联表. SET FOREIGN_KEY_CHECKS=0;-- ----------- ...
- security基于数据库的认证(二)
@TOC 前言:在security初体验(一)里,用户名和密码的认证都是基于内存级别的,本章主要是说security如何从db里取用户名和密码来验证的. 1.准备的sql DROP TABLE IF ...
- CAS统一登录认证(1): 搭建 CAS Server
搭建 CAS Server 一.CAS单点登录-简介 1.1 CAS 简介 CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项 ...
最新文章
- 快速给shell脚本加上使用提示
- Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取
- Perl 模块安装总结
- 华为q1设置虚拟服务器,如何使用华为华为Q1 Q1互联网路由设置图文教程 | 192.168.1.1手机登陆...
- 考研编程练习----快速排序
- iheatmapr包:可交互的热图绘制方法
- 一个用于学习的react项目
- 荣耀平板5升级鸿蒙,荣耀能否“升级”鸿蒙?赵明正式确认:华为做得好会考虑采用!...
- bzoj 3872 [ Poi 2014 ] Ant colony —— 二分
- 帆软决策报表全页面刷新或局部组件定时刷新
- 如何在阿里云国际上设置邮箱主机
- python支持多种编程范式吗_理解真格量化的Python编程范式
- 新创建了用户没有计算机图标,w10我的电脑图标没了怎么办
- 计算机组装日记,求微机组装与维护实习日记?
- 唐山盐碱滩成渤海明珠 国稻种芯·中国水稻节:河北曹妃甸大米
- 崇寿小学计算机编程,宁波第一!崇寿这个学校的孩子们棒棒哒
- Mac电脑快速切换输入法!自动切换输入法!
- springboot项目中访问不到html页面问题
- 自动浇花系统的电路分析
- lsof Linux