安装环境
centOS7.5
jdk1.8.0_161
Tomcat9.0
cas-server-webapp-4.0.0.rar
1. 创建证书
keytool -genkey -alias cas -keyalg RSA -keystore /usr/local/keys/keycard/cas.keystore
2.导出证书
keytool -export -alias cas -keystore /usr/local/keys/keycard/cas.keystore -file /usr/local/keys/keycard/cas.crt -storepass 123456
3.客户端JVM导入证书
keytool -import -keystore /usr/local/java/jdk1.8/jre/lib/security/cacerts -file /usr/local/keys/keycard/cas.crt -alias cas
这里的口令是changeit
4. 将证书引入到cas服务器端(修改server.xml)
这里注意8443端口的protocol中的红色部分,我这里使用的是Tomcat9.0.7。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/usr/local/keys/keycard/cas.keystore" keystorePass="123456"
clientAuth="false" sslProtocol="TLS"/>
<Host name="fire.web.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
5. 配置主机域名
# vi /etc/hosts
centOS7.5主机的ip fire.web.com
6.下载cas服务端war包
可以上官网CAS | Apereo Foundation下载源码进行打包,也可在网上下载打包好的war包,我这里使用的版本是
cas-server-webapp-4.0.0.war,也可在这里下载;
https://download.csdn.net/download/qq_21299835/10337831
再下载三个jar包
c3p0-0.9.1.2.jar 、cas-server-support-jdbc-4.0.0.jar、
mysql-connector-java-5.1.13-bin.jar
https://download.csdn.net/download/qq_21299835/10339182
7.将上一步弄好的war包改名为cas.war,并复制到tomcat的webapps中,启动tomcat服务
注:在此需要打开8443端口,再重启服务防火墙
# firewall-cmd --zone=public --add-port=8443/tcp --permanent
# firewall-cmd --zone=public --add-port=8005/tcp --permanent
# firewall-cmd --zone=public --add-port=8009/tcp --permanent
# firewall-cmd --zone=public --add-port=8080/tcp --permanent
# systemctl restart firewalld.service
8. 远程访问测试
输入用户名密码(deployerConfigContext.xml文件中红色部分)
<bean id="primaryAuthenticationHandler"
class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
<property name="users">
<map> 用户名 密码
<entry key="casuser" value="Mellon"/>
</map>
</property>
</bean>
9. 连接数据库(我这里连接的是mysql数据库)
<constructor-arg>
<map>
<entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
<!-- 注释下面这一行 -->
<!-- entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" -->
<!-- key-ref指定自己的本地数据库访问 -->
<entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver"/>
</map>
</constructor-arg>
<!-- 指定c3p0数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://数据库服务器ip:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false"/>
<property name="user" value="用户名"/>
<property name="password" value="密码"/>
</bean>
<!-- 访问本地数据库 -->
<bean id="dbAuthHandler"
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:sql="SELECT pwd FROM user WHERE username=?" />
10.重启服务,登录进行再测试
配置主机域名
编辑C:\Windows\System32\drivers\etc\hosts文件
windows主机ip fire.web.com
浏览器输入https://fire.web.com:8443/cas/login进行测试
登出输入https://fire.web.com:8443/cas/logout
如果要开机自启动tomcat,配置如下:
1. chmod +x /etc/rc.d/rc.local
2. vi /etc/rc.d/rc.local
export JAVA_HOME=/usr/local/java/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
/usr/local/tools/tomcat/tomcat9/cas-server/bin/startup.sh