安装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 FilesJavajdk1.6.0_10in>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 FilesJavajdk1.6.0_10in>keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keystore server.keystore(密钥文件名)    

在当前目录下多出一个文件server.keystore 

3. 导出数字证书

C:Program FilesJavajdk1.6.0_10in>keytool -export -alias tomcat -keypass changeit -file server.crt -keystore server.keystore

输入keystore密码:changeit

输入上一步中的密码,结果在当前目录生成server.crt密钥文件。(注意:这个文件是要导入客户端的JVM上的) 

4.将数字认证导入jre可信任区

C:Program FilesJavajdk1.6.0_10in>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 FilesJavajdk1.6.0_10in>keytool -list -keystore D:Javajdk1.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

原文地址:https://www.cnblogs.com/blog-cq/p/12487371.html