1. 程式人生 > >cas單點登錄服務端、客戶端搭建

cas單點登錄服務端、客戶端搭建

tool 配置https ip訪問 ads 地址 問題 安全證書 pool ash

jdk1.6

apache-tomcat-7

cas-server-webapp-4.0.0.war、cas-client-core-3.2.1.jar

(1)cas服務端

一、.修改hosts 文件,要使用CAS單點登錄必須要配置域名, cas是不能通過ip訪問的.,編輯文件 C:\Windows\System32\drivers\etc\hosts

  為了簡單,直接改成:127.0.0.1 localhost,這個用於cas服務端,cas客戶端我直接在eclipse中啟動。

二、【安全證書配置】:

  1 打開cmd命令窗口

  2 生成證書,在cmd窗口輸入以下命令:

    keytool -genkey -alias ssodemo -keyalg RSA -keysize 1024 -keypass zhoubang -validity 365 -keystore c:\zhoubang.keystore -storepass zhoubang

    【說明】:-alias後面的別名可以自定義,-keypass指定證書密鑰庫的密碼, -storepass和前面keypass密碼相同,否則下面tomcat 配置https 會訪問失敗 -keystore指定證書的              位置,這裏指定放在c盤根目錄,密鑰庫名稱可以自定義,這裏是zhoubang.keystore          3 命令輸入完成,回車之後,會提示你輸入一些資料,見下圖:              技術分享圖片     【註意】:第一個讓你輸入的“您的名字與姓氏是什麽”,請必須輸入在C:\Windows\System32\drivers\etc\hosts文件中加入的服務端的域名,也就是localhost。
  4導出證書:  
    在cmd窗口繼續輸入以下命令,導出證書:
    keytool -export -alias ssodemo -keystore c:\zhoubang.keystore -file c:\ssodemo.crt -storepass zhoubang
    之後可以在c盤看到生成的文件。   5.客戶端導入證書:     在cmd窗口輸入命令: 
    keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file c:\ssodemo.crt -alias ssodemo
    

    回車之後,會讓你輸入密鑰庫口令,註意,這裏的密碼必須要輸入changeit,不能輸入上面指定的密碼zhoubang,切記,輸入y回車即可,見下圖。

                  技術分享圖片   6 部署CAS-Server相關的Tomcat

    配置HTTPS。編輯E:\apache-tomcat-7.0.57\conf\server.xml,找到下面片段:

    <!--
         <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    -->
    去掉註釋,修改成:
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"       maxThreads="150" SSLEnabled="true" scheme="https" secure="true"       keystoreFile="C:/zhoubang.keystore" keystorePass="zhoubang"       clientAuth="false" sslProtocol="TLS" />     其中,keystoreFile就是創建證書的路徑,keystorePass就是創建證書的密碼.     【註意】:protocol="HTTP/1.1" 要改成 protocol="org.apache.coyote.http11.Http11Protocol" 剛開始我沒改,報錯了。   7.驗證cas服務端     將cas-server-webapp-4.0.0.war部署到tomcat,啟動。         在地址欄輸入https://localhost:8443/ 出現下面畫面,其實這就表明cas服務端tomcat的https配置是沒有問題了.                 技術分享圖片                 技術分享圖片

     【說明】:此時,CAS只是單獨運行,至於登錄的用戶名和密碼是什麽,請查看:E:\apache-tomcat-7.0.57\webapps\cas\WEB-INF\deployerConfigContext.xml文件中有      

          這樣一段配置:

          技術分享圖片

      這個配置是默認靜態配置用戶名和密碼,那就在瀏覽器的CAS服務的登陸框中輸入用戶名casuser和密碼Mellon,登錄看看效果,就會出現驗證成功的頁面,如下圖。

      你也可以在文件中自己配置自己的用戶名和密碼。

              技術分享圖片

      看到上述頁面表示CAS-Server已經部署成功。

      
  8.鏈接數據庫
    【說明】:我本地使用的是oracle數據庫。
    需要commons-pool-1.5.6.jar、ojdbc14_10g.jar、cas-server-support-jdbc-4.0.0.jar這。3個jar包放到E:\apache-tomcat-7.0.57\webapps\cas\WEB-INF\lib目錄下。
    
    編輯E:\apache-tomcat-7.0.57\webapps\cas\WEB-INF\ deployerConfigContext.xml文件,你會看到有這樣一段配置:
                技術分享圖片     註釋掉第二個entry配置,最終配置如下:                技術分享圖片    

    然後再在這個xml中新加入2個bean配置,如下:

        技術分享圖片

        技術分享圖片

    現在,CAS已經支持數據庫交互驗證了。到此服務端的搭建就完畢了

(2)cas客戶端後續寫

 

cas單點登錄服務端、客戶端搭建