CAS示例環(huán)境部署及配置版_第1頁
CAS示例環(huán)境部署及配置版_第2頁
CAS示例環(huán)境部署及配置版_第3頁
CAS示例環(huán)境部署及配置版_第4頁
CAS示例環(huán)境部署及配置版_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-.z.CAS示例環(huán)境部署及配置示例說明在本示例中將使用和搭建一個(gè)SSO測試環(huán)境,在同一臺機(jī)器上安裝3個(gè)tomcat,分別部署一個(gè)casserver和兩個(gè)casclient,這三個(gè)應(yīng)用使用不同的域名訪問(通過配置hosts文件實(shí)現(xiàn)多個(gè)域名)。配置完成之后,應(yīng)達(dá)到如下效果:1、首先訪問app1,此時(shí)需要跳轉(zhuǎn)到cas登錄頁面,要求用戶進(jìn)行登錄;2、輸入正確的用戶名和密碼,登錄成功之后自動(dòng)跳轉(zhuǎn)到app1,而且可以獲取到用戶的登錄信息;3、在同一個(gè)瀏覽器中直接訪問app2,此時(shí)不需要再次用戶登錄即可正常訪問,而且可以獲取到登錄用戶的信息;4、反復(fù)訪問app1和app2,只要不關(guān)閉瀏覽器,就可以一直正常訪問并且可以獲取到用戶信息;5、在瀏覽器地址欄輸入CAS登出的路徑(https://cas.demo.:8443/cas/logout),系統(tǒng)提示成功注銷;6、此時(shí)無論訪問app1還是app2,都會跳轉(zhuǎn)到cas登錄頁面,要求用戶重新登錄。部署文件清單應(yīng)用服務(wù)器中間件(符合Servlet2.3以上標(biāo)準(zhǔn)的J2EE容器)JDKJDK1.6CASSERVER部署包,可以從./cas獲取CASCLIENT部署包使用CAS做單點(diǎn)登錄的應(yīng)用準(zhǔn)備部署環(huán)境本文演示過程在同一個(gè)機(jī)器上的(也可以在三臺實(shí)體機(jī)器或者三個(gè)的虛擬機(jī)上),根據(jù)演示需求,我們需要準(zhǔn)備三個(gè)不同的域名,分別對應(yīng)casserver和兩個(gè)cas客戶端應(yīng)用,用修改hosts文件的方法添加域名最簡單方便(這個(gè)非常重要),在文件c:\windows\system32\drivers\etc\hosts文件中添加三條cas.demo.app1.demo.app2.demo.其中:cas.demo.對應(yīng)部署casserver的tomcat,如果這個(gè)tomcat使用https協(xié)議,則這個(gè)虛擬域名還用于證書生成;另外兩個(gè)域名對應(yīng)兩個(gè)不同的客戶端應(yīng)用。安裝JDK,配置JAVA_HOME、PATH環(huán)境變量;在D盤根目錄復(fù)制三個(gè)TOMCAT文件夾,分別命名為tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2;這個(gè)詳細(xì)過程就不再詳細(xì)描述。CASSERVER部署及通用配置CASSERVER部署cas-server-****.war的下載地址為./cas/download,本文以cas-server-3.5.0.zip為例,解壓提取–文件,把此文件復(fù)制到tomcat-for-cas\webapps目錄并解壓到cas文件夾(如果不準(zhǔn)備對CAS的文件做修改,則可以直接將WAR文件修改為cas.war即可)。啟動(dòng)tomcat(此tomcat的默認(rèn)監(jiān)聽端口為8090),在瀏覽器地址欄輸入:cas.demo.:8090/cas,按回車鍵后地址欄會自動(dòng)變?yōu)閏as.demo.:8090/cas/login,并顯示如下界面:在登錄窗口中,用戶名和密碼都輸入admin(實(shí)際上可以輸入任何值,只要用戶名和密碼一致,就可以成功登錄,這個(gè)是CAS的默認(rèn)驗(yàn)證規(guī)則),然后點(diǎn)擊登錄,會出現(xiàn)如下界面:至此,CASSERVER的應(yīng)用已經(jīng)部署成功,接下來就是根據(jù)情況進(jìn)行配置。CASSERVER通用配置配置CASSERVER節(jié)點(diǎn)名稱在文件${CAS}/WEB-INF/perties中的值,比如修改為cas01。去除登錄頁面的“Non-secureConnection”提示如果部署CASSERVER的TOMCAT沒有啟用HTTPS或者沒有通過HTTPS端口訪問,則會出現(xiàn)如下提示,想要去掉這個(gè)提示,只能修改登錄頁面。CAS客戶端的部署及配置客戶端應(yīng)用的部署按照常規(guī)方式部署使用CAS作為單點(diǎn)登錄服務(wù)器的應(yīng)用,并測試此應(yīng)用是否能正常訪問,我們使用的是一個(gè)測試應(yīng)用,只有一個(gè)jsp頁面,將這個(gè)應(yīng)用放到準(zhǔn)備好的tomcat-for-client-2/webapps下面即可,訪問應(yīng)用的跟目錄app2.demo.:5090/c2,如果顯示正常的頁面即表示應(yīng)用部署成功,我的測試應(yīng)用顯示如下信息:復(fù)制CASCLIENT需要的JAR文件復(fù)制CAS核心文件和其所依賴的JAR,不同版本的CAS需要的JAR文件可能稍微有所不同,本例使用的是,需要的JAR文件如下所示:配置web.*ml文件有關(guān)cas-client的web.*ml修改的詳細(xì)說明見官網(wǎng)介紹:/display/CASC/Configuring+the+JA-SIG+CAS+Client+for+Java+in+the+web.*ml我們這里只介紹將會用到的最簡單的配置,將如下容復(fù)制到web.*ml中,需要注意的是SingleSignOutFilter的映射一定要寫在其他過濾器的最前面,至少是過濾器CASAuthenticationFilter的前面,然后根據(jù)實(shí)際情況修改參數(shù)即可,如下所示突出顯示的部分:<listener><listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class></listener><filter><filter-name>CASAuthenticationFilter</filter-name><filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class><init-param><param-name>casServerLoginUrl</param-name><param-value>cas.demo.:8090/cas/login</param-value></init-param><init-param><param-name>serverName</param-name><param-value>app2.demo.:5090</param-value></init-param></filter><filter><filter-name>CASValidationFilter</filter-name><filter-class>org.jasig.cas.client.validation.Cas20Pro*yReceivingTicketValidationFilter</filter-class><init-param><param-name>casServerUrlPrefi*</param-name><param-value>cas.demo.:8090/cas</param-value></init-param><init-param><param-name>serverName</param-name><param-value>app2.demo.:5090</param-value></init-param><init-param> <param-name>useSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>redirectAfterValidation</param-name> <param-value>false</param-value> </init-param></filter><filter><filter-name>HttpServletRequestWrapperFilter</filter-name><filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class></filter><filter><filter-name>SingleSignOutFilter</filter-name><filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class></filter><filter-mapping><filter-name>SingleSignOutFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping><filter-mapping><filter-name>CASAuthenticationFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping><filter-mapping><filter-name>CASValidationFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping><filter-mapping><filter-name>HttpServletRequestWrapperFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping>部署結(jié)果測試配置完成后,啟動(dòng)CASSERVER所在的tomcat和CAS客戶端所在的tomcat,然后打開瀏覽器輸入網(wǎng)址app2.demo.:5090/c2,此時(shí)瀏覽器會自動(dòng)進(jìn)行跳轉(zhuǎn)到CAS的登錄頁面,地址欄會顯示如下的地址:cas.demo.:8090/cas/login"service=http%3A%2F%2Fapp2.demo.%3A5090%2Fc2%2F,同時(shí)會看到如下所示的登錄界面:在登錄窗口中,用戶名和密碼都輸入admin,然后點(diǎn)擊登錄,系統(tǒng)會自動(dòng)跳轉(zhuǎn)到登錄之前我們要訪問的地址,出現(xiàn)如下界面:至此,一個(gè)簡單的CAS測試環(huán)境就搭建成功了。為CASSERVER配置HTTPS獲取安全證書通??梢詮囊恍┌踩珯C(jī)構(gòu)申請安全證書,但是要支付一定的費(fèi)用,在本試驗(yàn)中,我們使用JDK自帶的工具keytool生成一個(gè)證書,生成證書的命令為:keytool-genkey-aliascas-keyalgRSA-keysize1024-validity730-keystored:/temp/cas.keystore在上面的命令行中,突出顯示的部分為需要修改的部分,其他參數(shù)可以默認(rèn),也可以參照keytool的參數(shù)說明進(jìn)行修改;其中參數(shù)alias指定了證書的別名,以后對證書的操作會用到此名稱,我們這里設(shè)置為cas,keystore指定了證書存在磁盤上的文件路徑,即我們需要將生成的證書存放在哪里。創(chuàng)建證書的過程如下所示,需要注意的是途中畫紅方框的地方,這個(gè)值需要與訪問cas時(shí)的域名或者cas所在的計(jì)算機(jī)名保持一致;最后一個(gè)密碼和keystore的密碼保持一致即可,密碼是casserver。配置CASSERVER使用的TOMCAT默認(rèn)情況下,tomcat是沒有開啟https端口的,因此需要在TOMCAT/conf/server.*ml中進(jìn)行手動(dòng)配置。首先找到如下代碼的位置:在配置文件中添加紅框中所示的代碼,其中keystoreFile為我們生成的證書文件的存放路徑,keystorePass為生成證書時(shí)輸入的密碼,本實(shí)驗(yàn)中我把證書文件復(fù)制到了server.*ml的目錄下。通過HTTPS訪問CAS應(yīng)用在瀏覽器中輸入https://cas.demo.:8443/cas,出現(xiàn)如下所示的界面:點(diǎn)擊“繼續(xù)瀏覽此”即可跳轉(zhuǎn)到我們熟悉的登錄界面,此時(shí)你會發(fā)現(xiàn),那個(gè)令人討厭的“Non-secureConnection”提示也沒有了:在登錄窗口中,用戶名和密碼都輸入admin(實(shí)際上可以輸入任何值,只要用戶名和密碼一致,就可以成功登錄,這個(gè)是CAS的默認(rèn)驗(yàn)證規(guī)則),然后點(diǎn)擊登錄,會出現(xiàn)如下界面修改CAS客戶端的配置將CAS客戶端的web.*ml中需要配置CASSERVERURL的地方做對應(yīng)的修改,本例中,應(yīng)將過濾器CASAuthenticationFilter的參數(shù)casServerLoginUrl的值由“cas.demo.:8090/cas/login”修改為“https://cas.demo.:8443/cas/login”;將過濾器CASValidationFilter的參數(shù)casServerUrlPrefi*的值由“cas.demo.:8090/cas”修改為“https://cas.demo.:8443/cas”;修改完配置文件之后,重新啟動(dòng)tomcat,訪問地址app2.demo.:5090/c2,瀏覽器依然會自動(dòng)跳轉(zhuǎn)到登錄頁面,但是當(dāng)輸入完用戶名和密碼,點(diǎn)擊登錄之后,就會出現(xiàn)如下的錯(cuò)誤頁面:上圖對應(yīng)的錯(cuò)誤信息如下:java.lang.RuntimeE*ception:java*.net.ssl.SSLHandshakeE*ception:sun.security.validator.ValidatorE*ception:PKI*pathbuildingfailed:vider.certpath.SunCertPathBuilderE*ception:unabletofindvalidcertificationpathtorequestedtargetorg.jasig.cas.client.util.monUtils.getResponseFromServer(monUtils.java:341) org.jasig.cas.client.util.monUtils.getResponseFromServer(monUtils.java:305) org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50) org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207) org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:169) org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116)出現(xiàn)這個(gè)錯(cuò)誤的直接原因就是因?yàn)镴VM沒有找到訪問cas.demo.時(shí)所需要的安全證書,現(xiàn)在出現(xiàn)這個(gè)錯(cuò)誤是正常的,因?yàn)槲覀冞€沒有將安全證書導(dǎo)入到JVM的證書庫中,如果在以后的使用過程中出現(xiàn)這個(gè)錯(cuò)誤,可以通過keytool的list命令查看JVM的證書庫中是否有對應(yīng)的證書。為運(yùn)行CASCLIENT的JVM設(shè)置安全證書CAS客戶端在驗(yàn)證時(shí),會從后臺通過代碼訪問CASSERVER,此時(shí)是通過HTTPS進(jìn)行訪問的,因此運(yùn)行CAS客戶端的JVM會在JVM的證書庫中查找與訪問的域名對應(yīng)的證書,然后使用此證書與CASSERVER建立會話。因此我們要告訴JVM到哪里獲取安全證書。有兩種方法可以達(dá)到這個(gè)目的,一個(gè)方法是在啟動(dòng)TOMCAT的時(shí)候?yàn)镴VM指定證書的位置和訪問密碼,另一個(gè)方法是將安全證書導(dǎo)入到JVM的默認(rèn)證書庫中。1、為JVM指定可信證書庫的位置在啟動(dòng)TOMCAT的啟動(dòng)參數(shù)中增加如下容,也可以在啟動(dòng)TOMCAT之前將環(huán)境變量JAVA_OPTS設(shè)置為如下的值(需要注意的是下面兩行的容不要換行):-Djava*.net.ssl.trustStore=D:/tomcat-for-cas/conf/cas.keystore-Djava*.net.ssl.trustStorePassword=casserver有兩種方式指定JVM的啟動(dòng)參數(shù),一種在tomcat/bin/catalina.bat中指定:一種是單獨(dú)建一個(gè)文件,比如start-with-key.bat,然后在文件中加入下面的容:修改完啟動(dòng)腳本之后,重新啟動(dòng)tomcat,訪問地址app2.demo.:5090/c2,瀏覽器依然會自動(dòng)跳轉(zhuǎn)到登錄頁面,輸入完用戶名和密碼,點(diǎn)擊登錄之后,就會自動(dòng)跳轉(zhuǎn)到我們需要訪問的地址,并顯示正常的頁面。2、將安全證書導(dǎo)入到JVM默認(rèn)的證書庫中如果在啟動(dòng)JVM的時(shí)候沒有指定安全證書的位置,當(dāng)程序用到安全證書時(shí),JVM將使用JRE默認(rèn)的證書庫,位置為%JAVA_HOME%\jre\li

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論