Liferay SSO CAS 集成
1.在CAS要安裝的機(jī)器上(也就是服務(wù)端)為Tomcat生成用于SSL通訊的密鑰:keytool -genkey -alias tomcat -keyalg RSA,輸入密鑰密碼和相應(yīng)參數(shù),(注意:第一個(gè)參數(shù)CN一定要輸入CAS安裝機(jī)器名,其他參數(shù)就隨便了),結(jié)果是在用戶目錄中創(chuàng)建了名 為.keystore的密鑰文件。
2.從服務(wù)端導(dǎo)出密鑰文件:keytool -export -file server.crt -alias tomcat,輸入上一步中的密碼,結(jié)果在當(dāng)前目錄生成server.crt密鑰文件。(注意:這個(gè)文件是要導(dǎo)入客戶端的JVM上的)
3.為客戶端的JVM導(dǎo)入密鑰:keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file server.crt -alias tomcat,輸入密碼(注意:這里的密碼不是上面設(shè)定的密碼,而是changeit),將創(chuàng)建cacerts文件。
4.修改服務(wù)端的Tomcat配置文件server.xml,去掉對(duì)于SSL的注釋,即開放8443端口,注意這里需要在connector字段中加入 keystorePass="password"參數(shù),password即為上面幾步中涉及到的密 碼,keystoreFile=".keystorePath",.keystorePath即為在第一步中生成的文件.keystore的全路徑,如 /usr/java/bin/.keystore。
5.啟動(dòng)Tomcat,測(cè)試https://server:8443/是否是需經(jīng)過驗(yàn)證方可訪問(注意:server為服務(wù)端的IP地址或機(jī)器名)。
二、部署CAS Server 2.0.12到Tomcat
1.一種簡(jiǎn)單的方法是將下載包中的cas.war文件直接復(fù)制到Tomcat的webapps目錄下。
2.另外一種方法,從sourceforge上找到ESUP-Portail CAS Generic Handler項(xiàng)目,利用esup-cas-quick-start生成一個(gè)最簡(jiǎn)的TOMCAT,詳見我的下一篇文章。
3.啟動(dòng)Tomcat,測(cè)試https://server:8443/cas,是否可訪問CAS主頁(yè)面(注意:server為服務(wù)端的IP地址或機(jī)器名)。
三、部署CAS Client 2.0.11到Servlet-Examples
1.利用Servlet-Examples實(shí)例進(jìn)行測(cè)試,將下載包中的casclient.jar文件復(fù)制到Servlet-Examples中WEB-INF目錄的lib下,這里需要手工建立lib目錄。
2.修改Servlet-Examples的配置文件web.xml,加入以下的過濾器:
<!-- CAS Filters -->
??? <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://server:8443/cas/login</param-value>
??????? </init-param><!--這里的server是服務(wù)端的IP-->
??????? <init-param>
??????????? <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
??????????? <param-value>https://serName:8443/cas/proxyValidate</param-value>
??????? </init-param><!--這里的serName是服務(wù)端的主機(jī)名,而且必須是-->
??????? <init-param>
????????? <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
????????? <param-value>client:port</param-value><!--client:port就是需要CAS需要攔截的地址和端口,一般就是這個(gè)TOMCAT所啟動(dòng)的IP和port-->
??????? </init-param>
??? </filter>
???
??? <filter-mapping>
??????? <filter-name>CASFilter</filter-name>
??????? <url-pattern>/*</url-pattern>
??? </filter-mapping>
四、測(cè)試
1.啟動(dòng)Tomcat,定位到Servlet-Examples應(yīng)用,點(diǎn)擊Execute;
2.瀏覽器跳轉(zhuǎn)至CAS登錄首頁(yè),注意在URL中已經(jīng)附上了Servlet-Examples的Service名
3.輸入用戶名和密碼,這里沒有對(duì)其驗(yàn)證條件做修改,因此只要用戶名和密碼相同即可通過驗(yàn)證。
4.驗(yàn)證通過后瀏覽器又重新定位至Servlet-Examples并顯示該Servlet的內(nèi)容。
5.點(diǎn)擊Http Header的Servlet應(yīng)用,可以看到里面對(duì)當(dāng)前用戶的用戶名信息做了記錄。
6.以后訪問Servlet-Examples應(yīng)用都無(wú)需再次輸入用戶名和密碼了。
至此,CAS Server和Client已經(jīng)在Tomcat上成功部署與配置,并達(dá)到了預(yù)期的SSO效果。轉(zhuǎn)自:http://hi.baidu.com/rbtk/blog/item/f8de7c1e859927f41bd576fa.html
轉(zhuǎn)載于:https://www.cnblogs.com/lanzhi/archive/2008/08/18/6470157.html
總結(jié)
以上是生活随笔為你收集整理的Liferay SSO CAS 集成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ITIL好看不好吃?(四)
- 下一篇: ASP.NET中的OutOfMemory