一、系統(tǒng)配置
cas server3.1.1
cas client 2.1.1
tomcat5.5
二. Tomcat 配置,啟用SSL
a. 在要安裝CAS的機(jī)器上為Tomcat生成用于SSL通訊的密鑰:%JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
這時需要輸入密鑰密碼和其他參數(shù)(第一個參數(shù)CN必須設(shè)置為CAS機(jī)器名,本機(jī)使用localhost測試),會在系統(tǒng)用戶目錄中生成.keystore密鑰文件。
b. 導(dǎo)出別名為tomcat的密鑰文件:%JAVA_HOME%/bin/keytool -export -file /path/server.crt -alias tomcat 這時需要輸入上一步設(shè)定的密碼,結(jié)果會在/path/目錄生成server.crt信任狀。
c. 為客戶端的JVM導(dǎo)入密鑰::%JAVA_HOME%/bin/keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file /path/server.crt -alias tomcat 注意:輸入密碼時密碼為"changeit",這是默認(rèn)密碼。
d. 修改服務(wù)端Tomcat配置文件,啟用SSL如下:






把cas-server-webapp-3.1.1.war copy到tomcat\webapps下重命名為cas;可能需要修改的cas.properties里的cas server name。
https://localhost:8443/cas/longin
默認(rèn)的cas server的驗(yàn)證是只要用戶名和密碼一樣就可以登陸。可以通過修改deployerConfigContext.xml里的authenticationHandlers為自己的驗(yàn)證機(jī)制,如mysql驗(yàn)證用戶,如下

















以servlet-example為例子
在web.xml增加下面內(nèi)容






















當(dāng)輸入http://localhost:8080/servlet-exampls/servlet/HelloWorld就會要求跳轉(zhuǎn)到cas login窗口要求身份驗(yàn)證。
至此,SSO配置完成;但會出現(xiàn)下面問題
1:假設(shè)有A、B兩個應(yīng)用程式,現(xiàn)在在瀏覽器窗口1輸入對A應(yīng)用程式的請求,會跳轉(zhuǎn)到cas login窗口身份驗(yàn)證;身份驗(yàn)證完成后跳轉(zhuǎn)會A應(yīng)用程式請求頁面
2:在窗口2輸入對B應(yīng)用程式請求,還會需要身份驗(yàn)證
3:在窗口1修改URL為對B應(yīng)用程式的請求,不需求身份驗(yàn)證
請看CAS SSO配置下文