安装CAS
cas的github项目地址https://github.com/apereo/cas-overlay-template/
最新版的cas(6.x)使用的编译环境是jdk11 和gradle

由于我本地是使用的jdk8,并且没有使用过gradle,所以我选择cas5.x的版本,5.x的cas使用的是jdk8,和我比较熟悉的maven

这里我选择了5.3的版本,然后下载zip,下载下来之后解压,在解压后的目录如下所示

首先需要在pom文件中加入阿里云的镜像代理
<repositories><!-- 代码库 -->
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
然后再当前目录运行./build.sh package

这个执行过程还是比较漫长的,耐心等待
执行结束之后,会多出来一个target目录,里面有个war包

将cas.war放到tomcat的webapp目录下,然后启动tomcat,访问路径http://localhost:8080/cas, 可以看到以下页面
(默认用户名:casuser,密码:Mellon)。

登录成功

设置https
1. 删除已有
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -delete -alias tomcat(随意起的别名) -keystore D:/Java/jdk1.6.0_33/jre/lib/security/cacerts -storepass changeit
2. 生成密匙库
输入密钥密码和相应参数,(注意:第一个参数CN要输入域名sso.shipengzhi.com,其他参数就随便了),结果是在用户目录中创建了名为server.keystore的密钥文件。
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keystore server.keystore(密钥文件名)
在当前目录下多出一个文件server.keystore
3. 导出数字证书
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -export -alias tomcat -keypass changeit -file server.crt -keystore server.keystore
输入keystore密码:changeit
输入上一步中的密码,结果在当前目录生成server.crt密钥文件。(注意:这个文件是要导入客户端的JVM上的)
4.将数字认证导入jre可信任区
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -alias tomcat -file server.crt -keypass changeit -keystore D:/Java/jdk1.6.0_33/jre/lib/security/cacerts
这里的jre地址和tomcat使用的jre必须一致
输入密码(注意:这里的密码不是上面设定的密码,而是changeit),将创建cacerts文件。
如果运行报错 非法选项: Files\。。。。
这可能是因为路径中存在空格或者文件名存在空格的情况,命令识别错误。将对应的 -keystore "%JAVA_HOME%/jre/lib/security/cacerts" 密钥库名称中路径用双引号“” 以及 %JAVA_HOME% 方式来表示。
5. 查看可信证书列表(检查证书是否加入成功)
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -list -keystore D:\Java\jdk1.6.0_33/jre/lib/security/cacerts

构建CAS服务器和过滤器
在tomcat的server.xml文件中添加
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:/Program Files/Java/jdk1.8.0_131/bin/server.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
重新访问cas

参考资料:
搭建:https://blog.csdn.net/zhangjunli/article/details/80885422
报错解决方法:https://blog.csdn.net/weixin_42156742/article/details/83303287

浙公网安备 33010602011771号