说明:此处采用https,因此需本地配置ssl证书。
素材:
tomcat-8
cas-overlay-template-4.2
一、ssl证书
1.生成证书:
注意:姓氏那里要和访问CAS服务器的域名一致。
在cmd窗口输入keytool -genkey -alias sso -keyalg RSA -keystore D:/sso/keystore/sso
在D:/sso/keystore目录下生成别名为sso证书文件
2.导出证书:
keytool -export -trustcacerts -alias sso -file D:/sso/keystore/sso.cer -keystore D:/sso/keystore/sso
在D:/sso/keystore目录下导出sso.cer证书
3.Java环境导入该证书:
keytool -import -trustcacerts -alias sso -file D:/sso/keystore/sso.cer -keystore "C:/Program Files/Java/jdk1.8.0_91/jre/lib/security/cacerts"
注意:-keystore为所安装的jdk的证书的位置
此处需要的口令是jdk秘钥库的口令:密钥库口令:changeit
列出java证书库中所以已认证证书:Keytool -list -keystore "C:\Program Files\Java\jdk1.7.0_79\jre\lib\security\cacerts"
删除java证书库中的证书:keytool -delete -alias mykey -keystore "C:\Program Files\Java\jdk1.7.0_79\jre\lib\security\cacerts"
4.tomcat中开启https:
D:\soft\apache-tomcat-8-sso\conf\server.xml文件里
增加节点:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/sso/keystore/sso"
keystorePass="A123456"/>
说明:
keystoreFile="D:/sso/keystore/sso" 注意是生成的sso证书,而不是导出的sso.cer。
keystorePass="A123456" 是生成证书时设定的口令(我这里设定的秘钥库和秘钥口令都是A123456)。
二、CAS server
进入cas-overlay-template-4.2
cmd输入mvn install(前提安装好maven环境),得到cas-overlay-template-4.2\target\cas.war
解压cas.war得到cas项目
复制cas-overlay-template-4.2\etc\cas.properties到cas\WEB-INF下,并修改cas\WEB-INF\spring-configuration\propertyFileConfigurer.xml文件,
<context:property-placeholder location="/WEB-INF/cas.properties"/> 指向cas.properties文件。
三、发布项目
修改tomcat的\conf\server.xml
<Host name="www.sso.com" appBase="cas项目位置"
主机host文件配置www.sso.com指向本机。
启动。
浏览器输入https://www.sso.com:8443/cas/login
用户名:casuser
密码:Mellon