一、系統(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ù)(第一個(gè)參數(shù)CN必須設(shè)置為CAS機(jī)器名,本機(jī)使用localhost測(cè)試),會(huì)在系統(tǒng)用戶目錄中生成.keystore密鑰文件。
b. 導(dǎo)出別名為tomcat的密鑰文件:%JAVA_HOME%/bin/keytool -export -file /path/server.crt -alias tomcat 這時(shí)需要輸入上一步設(shè)定的密碼,結(jié)果會(huì)在/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 注意:輸入密碼時(shí)密碼為"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就會(huì)要求跳轉(zhuǎn)到cas login窗口要求身份驗(yàn)證。
至此,SSO配置完成;但會(huì)出現(xiàn)下面問題
1:假設(shè)有A、B兩個(gè)應(yīng)用程式,現(xiàn)在在瀏覽器窗口1輸入對(duì)A應(yīng)用程式的請(qǐng)求,會(huì)跳轉(zhuǎn)到cas login窗口身份驗(yàn)證;身份驗(yàn)證完成后跳轉(zhuǎn)會(huì)A應(yīng)用程式請(qǐng)求頁面
2:在窗口2輸入對(duì)B應(yīng)用程式請(qǐng)求,還會(huì)需要身份驗(yàn)證
3:在窗口1修改URL為對(duì)B應(yīng)用程式的請(qǐng)求,不需求身份驗(yàn)證
請(qǐng)看CAS SSO配置下文