Junky's IT Notebook

          統計

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評論排行榜

          Liferay SSO 集成兩說

          在liferay portal中集成CAS非常容易
          1拷貝cas java client 的jar包到liferay\WEB-INF\lib下
          2修改common\lib\ext\portal-ejb.jar\里的文件system.properties
               將poratl.properties里
          auto.login.hooks=com.liferay.portal.auth.BasicAutoLogin,com.liferay.portal.auth.CASAutoLogin
          3 修改liferay\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://192.168.210.79:7443/CASServer/login</param-value>
               </init-param>
               <init-param>
             <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
          <param-value>https://192.168.210.79:7443/CASServer/serviceValidate</param-value>
               </init-param>
              <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
              <param-value>localhost</param-value>
              </init-param>
             </filter>
              <filter-mapping>
              <filter-name>CASFilter</filter-name>
                <url-pattern>/*</url-pattern>
             </filter-mapping>


             CAS安裝- -
                                                

          看了網上很多CAS安裝的步驟,結合自己的經驗總結如下:


          一、配置Tomcat,啟用SSL協議。


          1.在CAS要安裝的機器上(也就是服務端)為Tomcat生成用于SSL通訊的密鑰:keytool -genkey -alias tomcat -keyalg RSA,輸入密鑰密碼和相應參數,(注意:第一個參數CN一定要輸入CAS安裝機器名,其他參數就隨便了),結果是在用戶目錄中創建了名為.keystore的密鑰文件。


          2.從服務端導出密鑰文件:keytool -export -file server.crt -alias tomcat,輸入上一步中的密碼,結果在當前目錄生成server.crt密鑰文件。(注意:這個文件是要導入客戶端的JVM上的)


          3.為客戶端的JVM導入密鑰:keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file server.crt -alias tomcat,輸入密碼(注意:這里的密碼不是上面設定的密碼,而是changeit),將創建cacerts文件。


          4.修改服務端的Tomcat配置文件server.xml,去掉對于SSL的注釋,即開放8443端口,注意這里需要在connector字段中加入keystorePass="password"參數,password即為上面幾步中涉及到的密碼,keystoreFile=".keystorePath",.keystorePath即為在第一步中生成的文件.keystore的全路徑,如/usr/java/bin/.keystore。


          5.啟動Tomcat,測試https://server:8443/是否是需經過驗證方可訪問(注意:server為服務端的IP地址或機器名)。

          二、部署CAS Server 2.0.12到Tomcat


          1.一種簡單的方法是將下載包中的cas.war文件直接復制到Tomcat的webapps目錄下。


          2.另外一種方法,從sourceforge上找到ESUP-Portail CAS Generic Handler項目,利用esup-cas-quick-start生成一個最簡的TOMCAT,詳見我的下一篇文章。


          3.啟動Tomcat,測試https://server:8443/cas,是否可訪問CAS主頁面(注意:server為服務端的IP地址或機器名)。

          三、部署CAS Client 2.0.11到Servlet-Examples


          1.利用Servlet-Examples實例進行測試,將下載包中的casclient.jar文件復制到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是服務端的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是服務端的主機名,而且必須是-->
                  <init-param>
                    <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
                    <param-value>client:port</param-value><!--client:port就是需要CAS需要攔截的地址和端口,一般就是這個TOMCAT所啟動的IP和port-->
                  </init-param>
              </filter>
             
              <filter-mapping>
                  <filter-name>CASFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>

          四、測試


          1.啟動Tomcat,定位到Servlet-Examples應用,點擊Execute;


          2.瀏覽器跳轉至CAS登錄首頁,注意在URL中已經附上了Servlet-Examples的Service名

          3.輸入用戶名和密碼,這里沒有對其驗證條件做修改,因此只要用戶名和密碼相同即可通過驗證。


          4.驗證通過后瀏覽器又重新定位至Servlet-Examples并顯示該Servlet的內容。


          5.點擊Http Header的Servlet應用,可以看到里面對當前用戶的用戶名信息做了記錄。

          6.以后訪問Servlet-Examples應用都無需再次輸入用戶名和密碼了。

          至此,CAS Server和Client已經在Tomcat上成功部署與配置,并達到了預期的SSO效果。

          posted on 2007-05-28 09:55 junky 閱讀(1127) 評論(0)  編輯  收藏 所屬分類: security

          主站蜘蛛池模板: 博湖县| 建湖县| 永泰县| 双江| 尚义县| 灵山县| 资兴市| 博白县| 彭泽县| 禹州市| 吉林市| 高雄市| 张家港市| 安福县| 房山区| 山东| 贞丰县| 图们市| 普安县| 长子县| 长沙县| 镇安县| 宁德市| 南漳县| 普安县| 库车县| 赤峰市| 长乐市| 安宁市| 盐源县| 贡嘎县| 玉门市| 乃东县| 旬邑县| 江达县| 年辖:市辖区| 和静县| 加查县| 邓州市| 博野县| 利川市|