CAS5.3.14安装、配置完全教程

1.生成keystore

keytool是jdk自带的工具

keytool -genkey -v -alias zxl  -keyalg RSA -keystore F:\DEVELOP\cas\keystore\zxl.keystore
666666
zxl.com
zxl.com
zxl.com
wuhan
jiangsu
cn
y
666666

2.导出证书

keytool -export -trustcacerts -alias zxl -file F:\DEVELOP\cas\keystore\zxl.cert -keystore F:\DEVELOP\cas\keystore\zxl.keystore
666666

3.将证书导入jdk证书库

keytool -import -trustcacerts -alias zxl -file F:\DEVELOP\cas\keystore\zxl.cert -keystore F:\DEVELOP\Java\jdk1.8.0_202\jre\lib\security\cacerts
changeit
y

4.配置tomcat --> server.xml

加入如下配置:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" schema="https" secure="true" 
			   clientAuth="false" sslProtocol="TLS" 
			   keystoreFile="F:\DEVELOP\cas\keystore\zxl.keystore"
			   keystorePass="666666"/>

5.解决Tomcat cmd窗口日志乱码的问题

具体原因是Tomcat日志配置的是utf-8编码,而cmd是GBK编码。将Tomcat日志编码改成GBK即可

java.util.logging.ConsoleHandler.encoding = GBK

6.验证Tomcat https配置

能正常访问即可

https://localhost:8443/

7.下载CAS Server War包

war包下载地址:
https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.14/
war包是已经编译好的,直接可以拿来使用:
https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.14/cas-server-webapp-tomcat-5.3.14.war
官网:
https://www.apereo.org/projects/cas
github主页:
https://github.com/apereo/cas
服务端(需要二开在此项目上进行修改后发布):
https://github.com/apereo/cas-overlay-template

8.将war包拷贝到tomcat–webapps目录

会自动进行解压。将目录名称改成cas,访问:

https://localhost:8443/cas

出现登录界面即成功配置。

9.查询cas默认的用户名密码

在如下目录找到:
F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\application.properties
查找如下行,默认是最后一行,casuser::Mellon分别为用户名和密码
cas.authn.accept.users=casuser::Mellon

10.配置cas的日志路径

在F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\log4j2.xml文件中配置:默认为首行位置
<Properties>
	<Property name="baseDir">F:\DEVELOP\cas\logs</Property>
</Properties>

11.配置hosts文件

为了方便cas客户端访问,配置hosts文件

127.0.0.1 zxl.com

12.创建cas相关库表

use db_cas_sso;
drop table if exists t_cas;
CREATE TABLE t_cas (
	id int(11) NOT NULL AUTO_INCREMENT,
	username varchar(30) DEFAULT NULL,
	password VARCHAR(100) DEFAULT NULL,
	PRIMARY key(id)
)engine=INNODB DEFAULT CHARSET=utf8;
insert into t_cas(id,username,password) VALUES(1,'zxl','zxl');

13.cas application.properties文件中噢诶之

在如下目录找到:
F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\application.properties
注释掉如下这行:
#cas.authn.accept.users=casuser::Mellon

加上jdbc数据源配置:

# cas.authn.accept.users=casuser::Mellon
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/db_cas_sso?serverTimezone=GMT
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=011220
cas.authn.jdbc.query[0].sql=select * from t_cas where username=?
#password配置含义:通过password字段进行校验
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver

14.添加相关驱动包

将如下四个jar包添加到目标目录:F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\lib

cas-server-support-jdbc-5.3.14.jar
cas-server-support-jdbc-authentication-5.3.14.jar
cas-server-support-jdbc-drivers-5.3.14.jar
mysql-connector-java-5.1.28-bin.jar

15.cas密码加密

配置cas用户密码的md5密文,数据库存储密文,前台输入明文密码也可通过校验。
修改cas的application.properties配置文件:F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\application.properties
在最后一行添加如下配置:

cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
#MD5加密策略
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5

用户名和密码均为zxl,测试通过。

16.cas客户端工程搭建

项目位置:

F:\DEVELOP\workspace\java\sso-sys

17.报错:未认证授权的服务

报错原因是cas服务器默认不支持http请求,我们可以通过配置来让其支持http请求;

F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json
将
"serviceId" : "^(https|imaps)://.*" 
改为
 "serviceId" : "^(https|http|imaps)://.*",
F:\DEVELOP\apache-tomcat-9.0.46\webapps\cas\WEB-INF\classes\application.properties
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

解决:EL1007E: Property or field ‘xxxxx’ cannot be found on null

Springboot项目的前端的thymleaf报这样的错
原因:
①后台传到前端的对象里没有xxxxx属性
②前端取属性xxxxx的名字写错了,所以取值不到

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值