转载地址: https://blog.csdn.net/u010475041/article/details/77893463
1、下载 CAS
- 打开链接,输入 tomcat,选择 CAS Web Application Tomcat
https://casinitializr.herokuapp.com/
2、打包文件
- pom 文件中,改为 5.1.3 版本
- 执行 build.cmd pacakge 命令
3、支持 http
- 修改 WEB-INF\classes\services\HTTPSandIMAPS-10000001.json 文件,修改 serviceId,加 http
- 修改 WEB-INF\classes\application.properties,添加内容
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
4、运行
java -jar cas.war
5、配置 https
- 证书处理
#生成秘钥
keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias passport.sso.com -keystore d:/tomcat.keystore -dname "CN=passport.sso.com,OU=kawhi,O=carl,L=GuangZhou,ST=GuangDong,C=CN"
#生成证书
keytool -exportcert -alias passport.sso.com -keystore d:/tomcat.keystore -file d:/tomcat.cer -rfc
#导入证书到java环境,注意密码为 changeit
keytool -import -alias passport.sso.com -keystore C:\PROGRA~1\Java\jdk1.8.0_66\jre\lib\security\cacerts -file d:/tomcat.cer
#检验是否导入成功,注意密码为 changeit
keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts" | findstr/i server
- 把
tomcat.keystore
拷贝到src\main\resources
下,调整 application.properties
server.ssl.enabled=true
server.ssl.key-store=classpath:tomcat.keystore
server.ssl.key-store-password=123456
server.ssl.key-alias=passport.sso.com
- 修改 hosts 文件
127.0.0.1 passport.sso.com
- 重新访问
https://passport.sso.com:8443/cas/login
6、开启 jdbc 验证
- 配置依赖
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
<scope>runtime</scope>
</dependency>
- 创建数据库
CREATE DATABASE cas;
USE cas;
CREATE TABLE `sys_user` (
`id` VARCHAR(20) NOT NULL,
`username` VARCHAR(100) NOT NULL,
`password` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB;
- 修改 application.properties
cas.authn.jdbc.query[0].sql=select * from sys_user where username=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=utf-8
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=123456
7、自定义登录页面
- 找到 casLoginView.html 进行重写即可