cas單點登錄服務端、客戶端搭建
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。
在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單點登錄服務端、客戶端搭建