1.版本选择
目前最新的 CAS Server 是 6.x,这个是基于 gradle 来构建的;
这里选择5.3 的版本,该版本基于大家熟悉的 maven 来构建。
官方为我们提供了构建 CAS Server 的模版,地址是:https://github.com/apereo/cas-overlay-template。
我们在分支中选择 5.3 版本下载:
2. 生成HTTPS 证书并导入到JDK
可以使用JRE环境中的keytool命令生成。
可参考Android平台签名证书(.keystore)生成指南:https://ask.dcloud.net.cn/article/35777
2.1 生成证书,用jdk的keytool
# 这里证书的存放位置根据自己的需要替换 keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 36500 -keystore /opt/mycas/tomcat.keystore
- -alias 表示生成的证书别名
- -keyalg 表示生成证书使用的算法
- -keystore 表示生成证书的存放位置
- -validity 36500 表示有效时间,36500天,默认90天
Enter keystore password: //输入证书文件密码,输入完成回车 Re-enter new password: //再次输入证书文件密码,输入完成回车 What is your first and last name? [Unknown]: //输入名字和姓氏,输入完成回车 What is the name of your organizational unit? [Unknown]: //输入组织单位名称,输入完成回车 What is the name of your organization? [Unknown]: //输入组织名称,输入完成回车 What is the name of your City or Locality? [Unknown]: //输入城市或区域名称,输入完成回车 What is the name of your State or Province? [Unknown]: //输入省/市/自治区名称,输入完成回车 What is the two-letter country code for this unit? [Unknown]: //输入国家/地区代号(两个字母),中国为CN,输入完成回车 Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? [no]: //确认上面输入的内容是否正确,输入y,回车 Enter key password for <testalias> (RETURN if same as keystore password): //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
2.2 导出证书
## 在执行 export 导出命令时,需要输入密钥口令,这个口令就是自己一开始创建 SSL 证书时设置的 keytool -export -trustcacerts -alias tomcat -file /opt/mycas/tomcat.cer -keystore /opt/mycas/tomcat.keystore
2.3 导入证书到jdk
## 在执行 import 导入命令时,也需要输入口令,这个口令是 changeit,注意,不是自己一开始设置的。 keytool -import -trustcacerts -alias tomcat -file /opt/mycas/tomcat.cer -keystore "/usr/local/src/java/jdk1.8.0_251/jre/lib/security/cacerts"
或者直接输入:
keytool -import -trustcacerts -alias tomcat -file /opt/mycas/tomcat.cer -keystore "/usr/local/src/java/jdk1.8.0_251/jre/lib/security/cacerts" -storepass changeit
3. 配置
3.1 配置服务端
- idea导入下载的5.3版本项目并编译
https://github.com/apereo/cas-overlay-template/tree/5.3 - 新建src/main/resources目录
- 把编译后的application.properties和生成的证书拷贝到src/main/resources下
- 修改 application.properties
server.ssl.key-store=classpath:casserver.keystore server.ssl.key-store-password=123456 server.ssl.key-password=123456
3.2 配置tomcat
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" maxHttpHeaderSize="8192" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/opt/mycas/tomcat.keystore" keystorePass="123456" />
4. 启动
重新编译,把编译后的war包放到tomcat下的webapps目录下,然后进入到bin目录启动tomcat
默认的用户名是 casuser,密码是 Mellon,输入用户名密码就可以登录了。
默认的用户名/密码也可以在 application.properties 文件中修改,该文件的最后一行:
## # CAS Authentication Credentials # cas.authn.accept.users=casuser::Mellon
如需http访问,请移步:
https://blog.csdn.net/weixin_42201180/article/details/107653737
- 后续会有Spring Boot 开发 CAS 客户端。
到此处就结束了,希望可以对大家有帮助。有不足或出错的地方欢迎下方评论指正。
如有疑问可以加QQ:995062855