一、資源版本:
Tomcat5.0.28
cas-server-3.0.7
cas-client-2.0.11
二、Tomcat部署環境:
casserver——cas服務器部署環境
casclient——cas客戶機部署環境(發佈jsp-examples)
casclient1——cas客戶機部署環境(發佈servlets-examples)
三、SSL文件準備:
server.keystore——服務器端庫文件
client.keystore——客戶端庫文件
server.cer——服務器端證書(自制)
client.cer——客戶端證書(自制)
cacerts——證書鏈
1、生成服務器端庫文件
keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
2、導出服務器端證書
keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore
3、生成客戶端庫文件
keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
4、導出客戶端證書
keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore
5、導入服務器端證書到cacerts
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
6、導入客戶端證書到cacerts
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
將server.keystore、client.keystore、erver.cer、client.cer、cacerts文件複製到cas服務器、cas客戶機、cas客戶機1的TOMCAT_HOME主目錄及JAVA_HOEM/jre/lib/security目錄下。
四、Tomcat下cas安裝部署
1、casserver配置
採用jakarta-tomcat-5.0.28.zip解壓後默認配置,重點注意Server port="8005"
及Connector port="8080" redirectPort="8443"(cas客戶端需改端口號)。
A、 編輯./casserver/conf目錄下server.xml文件並保存。
找到如下片段,紅色字體爲新增內容。
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/server.keystore" keystorePass="changeit"/>
B、拷貝cas.war至./casserver/webapps目錄。
至此,cas服務器部署完畢。啓動服務器,訪問https://localhost:8443如能顯示Tomcat首頁則表示cas部署成功。
2、casclient配置
jakarta-tomcat-5.0.28.zip解壓後修改根目錄名爲casclient。
A、編輯./casclient/conf目錄下server.xml文件並保存。
找到如下片段,紅色字體爲修改內容。
<Server port="8006" shutdown="SHUTDOWN" debug="0">
<Connector port="8081"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8080" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
B、編輯./casclient/webapps/jsp-examples/WEB-INF目錄下web.xml文件並保存。
加入如下片段,重點注意紅色字體部分。
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8081</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
C、將casclient.jar拷貝至./casclient/webapps/jsp-examples/WEB-INF/lib目錄下。
至此,cas客戶端部署完畢。啓動客戶服務器,訪問http://localhost:8081/jsp-examples正常情況會彈出安全警報,點擊確認後轉向cas登錄頁面。此時casserver採用默認驗證,用戶名、口令輸入相同的字符串即可,驗證通過後轉向jsp-examples應用的默認頁面。
3、casclient1配置
jakarta-tomcat-5.0.28.zip解壓後修改根目錄名爲casclient1。
D、編輯./casclient1/conf目錄下server.xml文件並保存。
找到如下片段,紅色字體爲修改內容。
<Server port="8007" shutdown="SHUTDOWN" debug="0">
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8080" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
E、編輯./casclient1/webapps/servlets-examples/WEB-INF目錄下web.xml文件並保存。
加入如下片段,重點注意紅色字體部分。
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8082</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern> /servlet/*</url-pattern>
</filter-mapping>
將casclient.jar拷貝至./casclient1/webapps/servlets-examples/WEB-INF/lib目錄下。至此,cas客戶端1部署完畢。啓動cas客戶1服務器,訪問http://localhost:8082/servlets-examples/servlet/HelloWorldExample正常情況會彈出安全警報,點擊確認後轉向servlets-examples應用的HelloWorld頁面(此時由於cas客戶服務器已經登錄,因此訪問servlets-examples時無需再進行登錄)。
cas服務器、客戶端部署完成後即可實現統一認證服務。案例中把登錄認證部分的邏輯從jsp-examples、servlets-examples應用(此應用系統並無登錄邏輯,在實際應用中需修改相應的登錄驗證邏輯)中剝離,交由cas認證服務器完成。
以上配置在windows XP professional上測試通過。
Tomcat下Yale CAS配置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.