單點登入(三)cas服務端配置
阿新 • • 發佈:2019-02-14
一、配置:
1. jetty(或者tomcat)+SSL
2. Jdk6
3. cas-server版本:3.3.1
4. cas-client版本:3.1.11
我使用的cas版本比較低,有興趣的同學可以按照官網最新的版本來配置,cas版本從開始到最新的版本內容基本上變化還是挺大的,但是我用這個版本除錯成功了,就沒換。
相應的版本可以在官方網站上下載,也可以在公司maven倉庫裡下載。
二、生成證書
我使用的證書是公司內部本來就有jettywithssl的指令碼,就直接用了,不過在這裡寫一下使用Java Keytool工具生成證書的步驟,我生成證書後在tomcat上實驗過,可以正常使用通過。在DOS窗體執行以下指令(建議編寫一個BAT批處理檔案執行)
cls rem please set the env JAVA_HOME before run this bat file rem delete alia jetty if it is existed keytool -delete -alias tomcatsso -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit keytool -delete -alias tomcatsso -storepass changeit (註釋: 清除系統中可能存在的名字為tomcatsso 的同名證書) rem list all alias in the cacerts keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit (註釋: 列出系統證書倉庫中存在證書名稱列表) rem generator a key keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=hadoop-IdeaPad-U310" -storepass changeit (註釋:指定使用RSA演算法,生成別名為tomcatsso的證書,存貯口令為changeit,證書的DN為"cn=hadoop-IdeaPad-U310" ,這個DN必須同當前主機完整名稱一致哦,切記!!!) rem export the key keytool -export -alias tomcatsso -file $JAVA_HOME/jre/lib/security/tomcatsso.crt -storepass changeit (註釋: 從keystore中匯出別名為tomcatsso的證書,生成檔案tomcatsso.crt)rem import into trust cacerts keytool -import -alias tomcatsso -file $JAVA_HOME/jre/lib/security/tomcatsso.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit (註釋:將tomcatsso.crt匯入jre的可信任證書倉庫。注意,安裝JDK是有兩個jre目錄,一個在jdk底下,一個是獨立的jre,這裡的目錄必須同jetty使用的jre目錄一致,否則後面jetty的HTTPS通訊就找不到證書了) rem list all alias in the cacerts keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
三、配置Tomcat的HTTPS服務
編輯$CATALINA_HOME\conf下的server.xml檔案,在connector的配置位置新增以下的配置:
<Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/hadoop/.keystore" keystorePass="changeit" truststoreFile="/usr/java/jdk1.7.0_10/jre/lib/security/cacerts" clientAuth="false" sslProtocol="TLS"/>
四、部署cas伺服器
在cas-server-3.3.1/modules有如下jar包:
將其中的cas-server-webapp-3.3.1.war 更名為cas.war放在webapps目錄下,啟動tomcat,訪問http://localhost:8443/cas/login
輸入使用者名稱密碼:admin/admin (兩個相同的字串)
到此,伺服器的初步SSO部署宣告成功。
五、總結
其實,部署服務端的關鍵點在於證書的生成,如果公司內部有是最好不過的,證書生成之後,就是將cas的war包放在webapps裡面,執行,輸入登入的url,能夠訪問成功就可以了