CAS Server搭建与部署
1. cas.war的获取
项目下载地址为https://github.com/apereo/cas/releases/
我们可以看到早期的网上攻略大都以4.0.0版本为主,该版本是maven项目,且war包也能在项目module包中获取,比较便捷。之后较新的版本逐渐过渡为gradle项目,需要自己下载后打包。这边我偷懒继续使用了4.0.0的版本,跳过了打包的过程,想要了解最新版本打包的过程,可以参考http://blog.51cto.com/wangguangshuo/2050364
2. jdk证书生成
使用jdk自带的keytool完成ssl证书的签发生成和导入,这主要是为了能够支持https,如果不介意的话可以跳过这一步。
下面介绍证书生成的流程。首先,keytool能够生成的证书格式支持以下三种(假设cert为文件名):cert, cert.keystore, cert.jks。个人推荐最后那种,经过实测成功率更高。
cmd窗口执行命令:
keytool -genkey -alias cascer -keyalg RSA -keypass 123456 -keystore cascer.jks -storepass 123456
另外,只要你环境变量里有Java的路径那这边执行命令的路径无所谓,只是影响了证书生成的位置。
image.png
在名称与姓氏一栏需要填写域名,其它随便填。在此之后,cascer.jks已经在当前路径下生成。
导出cer证书:
keytool -export -file cascer.cer -alias cascer -keystore cascer.jks -storepass 123456
这一步后,会发现路径下导出了cascer.cer证书文件。然后只要导入到jdk中使之受信即可:
keytool -import -trustcacerts -alias cascer -file cascer.cer -keystore "C:\Program Files (x86)\Java\jre1.8.0_31\lib\security\cacerts"
3. tomcat配置
(1)首先把第一步中生成的cas-serverxxx.war更名为cas.war,并将war文件放到tomcat下webapps文件夹中。
(2)然后把第二步中生成的cascer.jks文件放到tomcat目录下conf文件夹中
(3)最后配置conf/server.xml文件
tomcat7配置:搜索到https,文件中只有一处地方有,放开注释,修改如下:
#修改前
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
#修改后
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/cascer.jks" keystorePass="123456"/>
4. 登录
完成以上配置后,启动tomcat
浏览器访问:https://localhost:8443/cas
输入默认的用户名:casuser,密码:Mellon,登录应该是成功的。