此處的CAS是指Central Authentication Service,也即統(tǒng)一認(rèn)真服務(wù),這里采用的是JASIG提供的相關(guān)服務(wù)端及客戶端類庫,結(jié)合TOMCAT進(jìn)行測試。
1、下載相關(guān)的服務(wù)器端和客戶端類庫,官網(wǎng)是:
http://www.jasig.org/cas/,目前我采用的是:
服務(wù)器端:cas-server-3.3.4-release.zip
客戶端:cas-client-2.0.11.zip
2、配置TOMCAT的SSL,具體可見上一篇博文:
在%CATALINA_HOME%/conf/server.xml中,添加:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="F:\eclipse\workspace\httpc\tomcat3.keystore"
keystorePass="123456"/>
配置OK后,可通過訪問“https://localhost:8443/examples/servlets/servlet/HelloWorldExample”來進(jìn)行驗(yàn)證
3、配置CAS服務(wù)器端:
將cas-server-3.3.4-release.zip中modules文件夾下的cas-server-webapp-3.3.4.war的解壓到TOMCAT的webapps目錄下。
重啟TOMCAT后,可以通過訪問“http://localhost:8080/cas/login”并輸入相同的用戶名密碼來進(jìn)行驗(yàn)證。
另:需要特別說明,cas應(yīng)用中默認(rèn)配置的是SimpleTestUsernamePasswordAuthenticationHandler,該處理類只要保持用戶名、密碼一直即可通過驗(yàn)證。
4、配置CAS客戶端:
在webapps\examples\WEB-INF中,對web.xml添加如下內(nèi)容:
<filter>
<filter-name>CAS Filter</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/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
</filter-mapping>
同時,將cas-client-2.0.11.zip中的casclient.jar,拷貝到webapps\examples\WEB-INF\lib中,重啟TOMCAT即可進(jìn)行驗(yàn)證。
5、驗(yàn)證CAS:
a、在瀏覽器中訪問“http://localhost:8080/examples/servlets/servlet/HelloWorldExample”
b、基于前面配置的過濾器,瀏覽器會定向CAS的認(rèn)證頁面“https://localhost:8443/cas/login?service=http%3A%2F%2Flocalhost%3A8080%2Fexamples%2Fservlets%2Fservlet%2FHelloWorldExample”
c、在CAS的認(rèn)證頁面中輸入相同的用戶名密碼test/test后,執(zhí)行登錄
d、瀏覽器提示安全警告,點(diǎn)擊確定后即轉(zhuǎn)入到“http://localhost:8080/examples/servlets/servlet/HelloWorldExample?ticket=ST-1-xWK9nwArDLbjCwYiXOqu-cas”,同時頁面打出“Hello World”,配置成功。