Java -- springboot 配置 cas 服务器

转载地址: 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 进行重写即可

猜你喜欢

转载自blog.csdn.net/sky_eyeland/article/details/94383082