




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、cas單點(diǎn)登陸配置手冊1、yale cas簡介cas 是 yale (耶魯)大學(xué)發(fā)起的一個(gè)開源項(xiàng)目,旨在為 web 應(yīng)用系統(tǒng)提供一種可靠的單點(diǎn)登錄方法,cas 在 2004 年 12 月正式成為 ja-sig 的一個(gè)項(xiàng)目。cas 具有以下特點(diǎn):開源的企業(yè)級單點(diǎn)登錄解決方案。 cas server 為需要獨(dú)立部署的 web 應(yīng)用。 cas client 支持非常多的客戶端(這里指單點(diǎn)登錄系統(tǒng)中的各個(gè) web 應(yīng)用),包括 java, .net, php, perl, apache, uportal, ruby 等。2、cas 原理和協(xié)議從結(jié)構(gòu)上看,cas 包含兩個(gè)部分: cas server 和
2、 cas client。cas server 需要獨(dú)立部署,主要負(fù)責(zé)對用戶的認(rèn)證工作;cas client 負(fù)責(zé)處理對客戶端受保護(hù)資源的訪問請求,需要登錄時(shí),重定向到 cas server。圖1 是 cas 最基本的協(xié)議過程:圖 1. cas 基礎(chǔ)協(xié)議cas client 與受保護(hù)的客戶端應(yīng)用部署在一起,以 filter 方式保護(hù)受保護(hù)的資源。對于訪問受保護(hù)資源的每個(gè) web 請求,cas client 會分析該請求的 http 請求中是否包含 service ticket,如果沒有,則說明當(dāng)前用戶尚未登錄,于是將請求重定向到指定好的 cas server 登錄地址,并傳遞 service (
3、也就是要訪問的目的資源地址),以便登錄成功過后轉(zhuǎn)回該地址。用戶在第 3 步中輸入認(rèn)證信息,如果登錄成功,cas server 隨機(jī)產(chǎn)生一個(gè)相當(dāng)長度、唯一、不可偽造的 service ticket,并緩存以待將來驗(yàn)證,之后系統(tǒng)自動重定向到 service 所在地址,并為客戶端瀏覽器設(shè)置一個(gè) ticket granted cookie(tgc),cas client 在拿到 service 和新產(chǎn)生的 ticket 過后,在第 5,6 步中與 cas server 進(jìn)行身份合適,以確保 service ticket 的合法性。在該協(xié)議中,所有與 cas 的交互均采用 ssl 協(xié)議,確保,st 和
4、tgc 的安全性。協(xié)議工作過程中會有 2 次重定向的過程,但是 cas client 與 cas server 之間進(jìn)行 ticket 驗(yàn)證的過程對于用戶是透明的。3、cas服務(wù)端配置1準(zhǔn)備環(huán)境jdk1.6apache-tomcat-6.0.14cas-server-3.4.22配置server將cas-server war文件復(fù)制到webapps下,啟動tomcat,以相同用戶名或密登錄成功。3配置數(shù)據(jù)庫訪問方式復(fù)制modules下面所有jar文件到cas-server的web-inf/lib下,并復(fù)制class12.jar(oracle數(shù)據(jù)庫驅(qū)動)。修改配置數(shù)據(jù)源,在deployercon
5、figcontext.xml中添加數(shù)據(jù)源。<bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <property name="driverclassname"><value>oracle.jdbc.driver.oracledriver</value></property> <property name="url">
6、<value>jdbc:oracle:thin:localhost:1521:orcl</value></property> <property name="username"><value>aip</value></property> <property name="password"><value>aip</value></property> </bean>修改登錄驗(yàn)證方法,在deployerconfigco
7、ntext.xml中注釋原驗(yàn)證方式,改為數(shù)據(jù)庫驗(yàn)證。重新啟動,通過數(shù)據(jù)庫驗(yàn)證用戶成功.三種驗(yàn)證方法:相同用戶名或密碼<beanclass="org.jasig.cas.authentication.handler.support.simpletestusernamepasswordauthenticationhandler" />用select語句驗(yàn)證<bean class="org.jasig.cas.adaptors.jdbc.querydatabaseauthenticationhandler"><property n
8、ame="sql" value="select password from app_user where username=?" /><property name="datasource" ref="datasource" /></bean>指定表或字段<bean class="org.jasig.cas.adaptors.jdbc.searchmodesearchdatabaseauthenticationhandler" abstract="fa
9、lse" lazy-init="default" autowire="default"><property name="datasource" ref="datasource" /> <property name="tableusers" value="app_user" /> <property name="fielduser" value="username"/> <prop
10、erty name="fieldpassword" value="password"/></bean>md5加密配置,在deployerconfigcontext.xml中添加加密算法<bean id="mypasswordencoder" class="org.jasig.cas.authentication.handler.defaultpasswordencoder"> <constructor-arg value="md5"/> </bea
11、n>在用戶驗(yàn)證中加入<bean class="org.jasig.cas.adaptors.jdbc.querydatabaseauthenticationhandler"><property name="sql" value="select password from app_user where username=?" /><property name="datasource" ref="datasource" /><property name
12、="passwordencoder" ref="mypasswordencoder"/></bean>4設(shè)置cas登錄成功進(jìn)入頁面修改webappscasweb-infviewjspdefaultuicasgenericsuccess.jsp頁面,重定向到aip系統(tǒng)protal頁面.<%response.sendredirect("3:8080/aip/login.jsp"); %>5cas 服務(wù)端超時(shí)配置修改cas server下web-infsping-configu
13、rationapplicationcontext.xml,<bean id="httpclient" class="org.jasig.cas.util.httpclient" p:readtimeout="5000" p:connectiontimeout="5000"/>6cas取消https驗(yàn)證配置6.1 修改cas server下web-infdeployerconfigcontext.xml文件<bean class="org.jasig.cas.authentication.
14、handler.support.httpbasedservicecredentialsauthenticationhandler" p:httpclient-ref="httpclient" p:requiresecure="false"/>增加參數(shù)p:requiresecure="false",是否需要安全驗(yàn)證,即https,false為不采用。6.2修改cas server下web-infspring-configurationticketgrantingticketcookiegenerator.xml文件<
15、;?xml version="1.0" encoding="utf-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/xmlschema-instance" xmlns:p="/schema/p" xsi:schemalocation="http:/www.springframe
16、/schema/beans /schema/beans/spring-beans-2.0.xsd"><description>defines the cookie that stores the ticketgrantingticket. you most likely should never modify these (especially the "secure" property).you can change the name if you want to mak
17、e it harder for people to guess.</description><bean id="ticketgrantingticketcookiegenerator" class="org.jasig.cas.web.support.cookieretrievingcookiegenerator"p:cookiesecure="false"p:cookiemaxage="-1"p:cookiename="castgc"p:cookiepath="/c
18、as" /></beans>參數(shù)p:cookiesecure="true",true為采用https驗(yàn)證,與deployerconfigcontext.xml的參數(shù)保持一致。參數(shù)p:cookiemaxage="-1",簡單說是cookie的最大生命周期,-1為無生命周期,即只在當(dāng)前打開的ie窗口有效,ie關(guān)閉或重新打開其它窗口,仍會要求驗(yàn)證。可以根據(jù)需要修改為大于0的數(shù)字,比如3600等,意思是在3600秒內(nèi),打開任意ie窗口,都不需要驗(yàn)證。6.3修改cas server下web-infspring-configuration
19、warncookiegenerator.xml文件<bean id="warncookiegenerator" class="org.jasig.cas.web.support.cookieretrievingcookiegenerator"p:cookiesecure="true"p:cookiemaxage="-1"p:cookiename="casprivacy"p:cookiepath="/cas" />兩個(gè)參數(shù)與上面同理。7cas安全性設(shè)置tgc存活周期
20、設(shè)置修改web-infspring-configurationticketexpirationpolicies.xml文件,通過timeoutexpirationpolicy來設(shè)置cas tgc存活周期參數(shù),參數(shù)默認(rèn)是120分鐘,在合適的范圍內(nèi)設(shè)置最小值,太短,會影響sso體驗(yàn),太長,會增加安全性風(fēng)險(xiǎn)。<bean id="grantingticketexpirationpolicy" class="org.jasig.cas.ticket.support.timeoutexpirationpolicy"><!- this argumen
21、t is the time a ticket can exist before its considered expired. -><constructor-argindex="0"value="7200000" /></bean>service ticket有效設(shè)置通過在 web.xml 中設(shè)置下面的參數(shù),能讓 service ticket 在多少秒內(nèi)失效。<context-param> <param-name>edu.yale.its.tp.cas.servicetimeout</param
22、-name> <param-value>300</param-value> </context-param> 該參數(shù)在業(yè)務(wù)應(yīng)用的條件范圍內(nèi),越小越安全。 4、cas服務(wù)端擴(kuò)展1擴(kuò)展認(rèn)證接口cas server 負(fù)責(zé)完成對用戶的認(rèn)證工作,它會處理登錄時(shí)的用戶憑證 (credentials) 信息,用戶名/密碼對是最常見的憑證信息。cas server 可能需要到數(shù)據(jù)庫檢索一條用戶帳號信息,也可能在 xml 文件中檢索用戶名/密碼,還可能通過 ldap server 獲取等,在這種情況下,cas 提供了一種靈活但統(tǒng)一的接口和實(shí)現(xiàn)分離的方式,實(shí)際使用中 ca
23、s 采用哪種方式認(rèn)證是與 cas 的基本協(xié)議分離開的,用戶可以根據(jù)認(rèn)證的接口去定制和擴(kuò)展。擴(kuò)展 authenticationhandler cas 提供擴(kuò)展認(rèn)證的核心是 authenticationhandler 接口,該接口定義如清單 1 下:清單 1. authenticationhandler定義 public interface authenticationhandler /* * method to determine if the credentials supplied are valid. * param credentials the credentials to valid
24、ate. * return true if valid, return false otherwise. * throws authenticationexception an authenticationexception can contain * details about why a particular authentication request failed. */ boolean authenticate(credentials credentials) throws authenticationexception; /* * method to check if the ha
25、ndler knows how to handle the credentials * provided. it may be a simple check of the credentials class or something * more complicated such as scanning the information contained in the * credentials object. * param credentials the credentials to check. * return true if the handler supports the cred
26、entials, false othewrise. */ boolean supports(credentials credentials); 該接口定義了 2 個(gè)需要實(shí)現(xiàn)的方法,supports ()方法用于檢查所給的包含認(rèn)證信息的credentials 是否受當(dāng)前 authenticationhandler 支持;而 authenticate() 方法則擔(dān)當(dāng)驗(yàn)證認(rèn)證信息的任務(wù),這也是需要擴(kuò)展的主要方法,根據(jù)情況與存儲合法認(rèn)證信息的介質(zhì)進(jìn)行交互,返回 boolean 類型的值,true 表示驗(yàn)證通過,false 表示驗(yàn)證失敗。cas3中還提供了對authenticationhandler 接
27、口的一些抽象實(shí)現(xiàn),比如,可能需要在執(zhí)行authenticate() 方法前后執(zhí)行某些其他操作,那么可以讓自己的認(rèn)證類擴(kuò)展自清單 2 中的抽象類:清單 2. abstractpreandpostprocessingauthenticationhandler定義 public abstract class abstractpreandpostprocessingauthenticationhandler implements authenticatehandler protected log log = logfactory.getlog(this.getclass(); protected bo
28、olean preauthenticate(final credentials credentials) return true; protected boolean postauthenticate(final credentials credentials, final boolean authenticated) return authenticated; public final boolean authenticate(final credentials credentials) throws authenticationexception if (!preauthenticate(
29、credentials) return false; final boolean authenticated = doauthentication(credentials); return postauthenticate(credentials, authenticated); protected abstract boolean doauthentication(final credentials credentials) throws authenticationexception; abstractpreandpostprocessingauthenticationhandler 類新
30、定義了 preauthenticate() 方法和 postauthenticate() 方法,而實(shí)際的認(rèn)證工作交由 doauthentication() 方法來執(zhí)行。因此,如果需要在認(rèn)證前后執(zhí)行一些額外的操作,可以分別擴(kuò)展 preauthenticate()和 ppstauthenticate() 方法,而 doauthentication() 取代 authenticate() 成為了子類必須要實(shí)現(xiàn)的方法。由于實(shí)際運(yùn)用中,最常用的是用戶名和密碼方式的認(rèn)證,cas3 提供了針對該方式的實(shí)現(xiàn),如清單 3 所示:清單 3. abstractusernamepasswordauthenticati
31、onhandler 定義 public abstract class abstractusernamepasswordauthenticationhandler extends abstractpreandpostprocessingauthenticationhandler . protected final boolean doauthentication(final credentials credentials) throws authenticationexception return authenticateusernamepasswordinternal(usernamepass
32、wordcredentials) credentials); protected abstract boolean authenticateusernamepasswordinternal( final usernamepasswordcredentials credentials) throws authenticationexception; protected final passwordencoder getpasswordencoder() return this.passwordencoder; public final void setpasswordencoder(final
33、passwordencoder passwordencoder) this.passwordencoder = passwordencoder; . 基于用戶名密碼的認(rèn)證方式可直接擴(kuò)展自 abstractusernamepasswordauthenticationhandler,驗(yàn)證用戶名密碼的具體操作通過實(shí)現(xiàn) authenticateusernamepasswordinternal() 方法達(dá)到,另外,通常情況下密碼會是加密過的,setpasswordencoder() 方法就是用于指定適當(dāng)?shù)募用芷?。從以上清單中可以看到,doauthentication() 方法的參數(shù)是 credentia
34、ls 類型,這是包含用戶認(rèn)證信息的一個(gè)接口,對于用戶名密碼類型的認(rèn)證信息,可以直接使用 usernamepasswordcredentials,如果需要擴(kuò)展其他類型的認(rèn)證信息,需要實(shí)現(xiàn)credentials接口,并且實(shí)現(xiàn)相應(yīng)的 credentialstoprincipalresolver 接口,其具體方法可以借鑒 usernamepasswordcredentials 和 usernamepasswordcredentialstoprincipalresolver。2擴(kuò)展jdbc認(rèn)證方法用戶的認(rèn)證信息通常保存在數(shù)據(jù)庫中,因此本文就選用這種情況來介紹。將前面下載的 cas-server-3.1.
35、1-release.zip 包解開后,在 modules 目錄下可以找到包 cas-server-support-jdbc-3.1.1.jar,其提供了通過 jdbc 連接數(shù)據(jù)庫進(jìn)行驗(yàn)證的缺省實(shí)現(xiàn),基于該包的支持,我們只需要做一些配置工作即可實(shí)現(xiàn) jdbc 認(rèn)證。jdbc 認(rèn)證方法支持多種數(shù)據(jù)庫,db2, oracle, mysql, microsoft sql server 等均可,這里以 db2 作為例子介紹。并且假設(shè)oracle數(shù)據(jù)庫名: orcl,數(shù)據(jù)庫登錄用戶名: wuxi,數(shù)據(jù)庫登錄密碼: wuxi,用戶信息表為: uim_user,該表包含用戶名和密碼的兩個(gè)數(shù)據(jù)項(xiàng)分別為 user
36、id 和 pwd。1). 配置 datastore 打開文件 %catalina_home%/webapps/casserver/web-inf/deployerconfigcontext.xml,添加一個(gè)新的 bean 標(biāo)簽,對于 oracle,內(nèi)容如清單 4 所示:清單 4. 配置 datastore<bean id="casdatasource" class="mons.dbcp.basicdatasource"> <property name="driverclassname"> <value&g
37、t;oracle.jdbc.driver.oracledriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:75:1521:orcl</value> </property> <property name="username"> <value>wuxi</value> </property> <property name
38、="password"> <value>wuxi</value> </property> </bean>其中 id 屬性為該 datastore 的標(biāo)識,在后面配置 authenticationhandler 會被引用,另外,需要提供 datastore 所必需的數(shù)據(jù)庫驅(qū)動程序、連接地址、數(shù)據(jù)庫登錄用戶名以及登錄密碼。2). 配置 authenticationhandler 在 cas-server-support-jdbc-3.1.1.jar 包中,提供了 3 個(gè)基于 jdbc 的 authenticationhand
39、ler,分別為 bindmodesearchdatabaseauthenticationhandler, querydatabaseauthenticationhandler, searchmodesearchdatabaseauthenticationhandler。其中 bindmodesearchdatabaseauthenticationhandler 是用所給的用戶名和密碼去建立數(shù)據(jù)庫連接,根據(jù)連接建立是否成功來判斷驗(yàn)證成功與否;querydatabaseauthenticationhandler 通過配置一個(gè) sql 語句查出密碼,與所給密碼匹配;searchmodesearchd
40、atabaseauthenticationhandler 通過配置存放用戶驗(yàn)證信息的表、用戶名字段和密碼字段,構(gòu)造查詢語句來驗(yàn)證。使用哪個(gè) authenticationhandler,需要在 deployerconfigcontext.xml 中設(shè)置,默認(rèn)情況下,cas 使用一個(gè)簡單的 username=password 的 authenticationhandler,在文件中可以找到如下一行:<bean class="org.jasig.cas.authentication.handler.support.simpletestusernamepasswordauthentic
41、ationhandler" />,我們可以將其注釋掉,換成我們希望的一個(gè) authenticationhandler,比如,使用querydatabaseauthenticationhandler 或 searchmodesearchdatabaseauthenticationhandler 可以分別選取清單 5 或清單 6 的配置。清單 5. 使用 querydatabaseauthenticationhandler<bean id="querydatabaseauthenticationhandler" class="org.jasig.
42、cas.adaptors.jdbc.querydatabaseauthenticationhandler"> <property name="datasource" ref="casdatasource" /> <property name="sql" value="select pwd from uim_user where lower(userid) = lower(?)" /> </bean> 清單 6. 使用 searchmodesearchdatabas
43、eauthenticationhandler<bean id="searchmodesearchdatabaseauthenticationhandler" class="org.jasig.cas.adaptors.jdbc.searchmodesearchdatabaseauthenticationhandler" abstract="false" lazy-init="default" autowire="default" dependency-check="default
44、"> <property name="tableusers"> <value>uim_user</value> </property> <property name="fielduser"> <value>userid</value> </property> <property name="fieldpassword"> <value>pwd</value> </property&g
45、t; <property name="datasource" ref="casdatasource" /> </bean>另外,由于存放在數(shù)據(jù)庫中的密碼通常是加密過的,所以 authenticationhandler 在匹配時(shí)需要知道使用的加密方法,在 deployerconfigcontext.xml 文件中我們可以為具體的 authenticationhandler 類配置一個(gè) property,指定加密器類,比如對于 querydatabaseauthenticationhandler,可以修改如清單7所示:清單 7. 添加
46、 passwordencoder<bean class="org.jasig.cas.adaptors.jdbc.querydatabaseauthenticationhandler"> <property name="datasource" ref=" casdatasource " /> <property name="sql" value=" select pwd from uim_user where lower(userid) = lower(?)" /&
47、gt; <property name="passwordencoder" ref="mypasswordencoder"/> </bean> 其中 mypasswordencoder 是對清單 8 中設(shè)置的實(shí)際加密器類的引用:清單 8. 指定具體加密器類<bean id="passwordencoder" class="org.jasig.cas.authentication.handler.mypasswordencoder"/> 這里 mypasswordencoder 是根
48、據(jù)實(shí)際情況自己定義的加密器,實(shí)現(xiàn) passwordencoder 接口及其 encode() 方法。3). 部署依賴包 在以上配置完成以后,需要拷貝幾個(gè)依賴的包到 casserver應(yīng)用下,包括:將 cas-server-support-jdbc-3.1.1.jar 拷貝到 %catalina_home%/webapps/casserver/ web-inf/lib 目錄。 數(shù)據(jù)庫驅(qū)動ojdbc14.jar拷貝到 %catalina_home%/webapps/casserver/web-inf/lib 目錄。對于其他數(shù)據(jù)庫,同樣將相應(yīng)數(shù)據(jù)庫驅(qū)動程序拷貝到該目錄。 datastore 依賴于
49、commons-collections-3.2.jar, commons-dbcp-1.2.1.jar, commons-pool-1.3.jar,需要到 apache 網(wǎng)站的 commons 項(xiàng)目下載以上 3 個(gè)包放進(jìn) %catalina_home%/webapps/casserver/web-inf/lib 目錄。 擴(kuò)展 cas server 界面cas 提供了 2 套默認(rèn)的頁面,分別為“ default ”和“ simple ”,分別在目錄“casserver /web-inf/view/jsp/default ”和“casserver/web-inf/view/jsp/simple ”
50、下。其中 default 是一個(gè)稍微復(fù)雜一些的頁面,使用 css,而 simple 則是能讓 cas 正常工作的最簡化的頁面。在部署 cas 之前,我們可能需要定制一套新的 cas server 頁面,添加一些個(gè)性化的內(nèi)容。最簡單的方法就是拷貝一份 default 或 simple 文件到“ casserver/web-inf/view/jsp ”目錄下,比如命名為 newui,接下來是實(shí)現(xiàn)和修改必要的頁面,有 4 個(gè)頁面是必須的:casconfirmview.jsp: 當(dāng)用戶選擇了“ warn ”時(shí)會看到的確認(rèn)界面 casgenericsuccess.jsp: 在用戶成功通過認(rèn)證而沒有目的s
51、ervice時(shí)會看到的界面 casloginview.jsp: 當(dāng)需要用戶提供認(rèn)證信息時(shí)會出現(xiàn)的界面 caslogoutview.jsp: 當(dāng)用戶結(jié)束 cas 單點(diǎn)登錄系統(tǒng)會話時(shí)出現(xiàn)的界面 cas 的頁面采用 spring 框架編寫,對于不熟悉 spring 的使用者,在修改之前需要熟悉該框架。頁面定制完過后,還需要做一些配置從而讓 cas 找到新的頁面,拷貝“casserver/web-inf/classes/default_perties ”,重命名為“casserver/web-inf/classes/ newui_perties ”,并修改其中所有的
52、值到相應(yīng)新頁面。最后是更新“casserver/web-inf/cas-servlet.xml ”文件中的 viewresolver,將其修改為如清單 9 中的內(nèi)容。清單 9. 指定 cas 頁面<bean id="viewresolver" class="org.springframework.web.servlet.view.resourcebundleviewresolver" p:order="0"> <property name="basenames"> <list>
53、<value>$cas.viewresolver.basename</value> <value> newui_views</value> </list> </property> </bean> cas server測試啟動tomcat1,在地址欄中輸入:https:/yanjz:8443/casserver/login能夠顯示登陸畫面,則表示 cas server配置成功5、https驗(yàn)證配置1生成 server key 進(jìn)入cmd轉(zhuǎn)到e:下輸入keytool -genkey -alias casserver
54、 -keyalg rsa -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 注:參數(shù) -validity 指證書的有效期(天),缺省有效期很短,只有90天。生成證書時(shí),您的名字與姓氏是什么,必須添域名或cas server機(jī)器名,否則ssl將不能取得tgc信息。(證書至關(guān)重要,直接影響cas是否能正常工作)生成server.keystore文件成功.2將證書導(dǎo)入的jdk的證書信任庫中第一步是導(dǎo)出證書,命令如下:keytool -export -trustcacerts -alias ca
55、sserver -file server.cer -keystore server.keystore -storepass changeit第二步是導(dǎo)入到證書信任庫,命令如下:keytool -import -trustcacerts -alias casserver -file server.cer -keystore d:javajre1.6.0_02libsecuritycacerts -storepass changeit注:根據(jù)不同的jdk版本證書需要導(dǎo)入jdk/jre中。列出所導(dǎo)入證書keytool -list -v -keystore d:javajre1.6.0_02libse
56、curitycacerts刪除存在的證書keytool -delete -trustcacerts -alias casserver -keystore d:javajre1.6.0_02libsecuritycacerts -storepass changeit3配置tomcat將生成證書復(fù)制到tomcat主目錄下,修改%tomcat_home%confserver.xml,添加如下配置<connector protocol="org.apache.coyote.http11.http11nioprotocol" port="844
57、3" minsparethreads="5" maxsparethreads="75" enablelookups="true" disableuploadtimeout="true" acceptcount="100" maxthreads="200" scheme="https" secure="true" sslenabled="true" clientauth="false" s
58、slprotocol="tls" keystorefile="e:/servercas1.keystore" keystorepass="changeit"/>keystorefile為已經(jīng)生成的服務(wù)器證書的地址keystorepass為自定義的服務(wù)器證書的密碼以:8443/cas登錄頁面,提示安全警報(bào)選擇”是”轉(zhuǎn)向登錄頁面,輸入用戶名,密碼,登錄成功,ie地址欄信息如下::8443/cas/login;jsessionid=734bacb812f9877005c2
59、033ea59ca9e86、cas客戶端配置(java)1導(dǎo)入服務(wù)端生成證書復(fù)制cas服務(wù)端生成證書server.cer 到客戶端,將證書導(dǎo)入jdk中keytool -import -trustcacerts -alias casserver -file server.cer -keystore d:javajre1.6.0_02libsecuritycacerts -storepass changeit2配置客戶web.xml文件在客戶端web.xml文件中加載如下代碼<!- sso logout-><listener> <listener-class>o
60、rg.jasig.cas.client.session.singlesignouthttpsessionlistener</listener-class></listener><filter><filter-name>cas single sign out filter</filter-name><filter-class>org.jasig.cas.client.session.singlesignoutfilter</filter-class></filter><!- sso login -><filter><filter-name>cas filter</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</pa
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆烏魯木齊市天山區(qū)2025屆三年級數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 重慶醫(yī)藥高等??茖W(xué)?!督y(tǒng)計(jì)應(yīng)用與實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 白銀希望職業(yè)技術(shù)學(xué)院《影視三維光影與質(zhì)感技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 工程竣工驗(yàn)收報(bào)告建筑外觀質(zhì)量檢查
- 涵洞墻身鋼筋施工方案
- 車庫地面施工方案
- 施工方案預(yù)控關(guān)鍵
- 戶外石材地面施工方案
- 河道大開挖施工方案
- 網(wǎng)絡(luò)架空地板施工方案
- 廣告品印刷行業(yè)發(fā)展概況及未來三年行業(yè)發(fā)展趨勢預(yù)測
- 電力建設(shè)項(xiàng)目檔案管理
- 創(chuàng)意寫作理論與實(shí)踐 課件全套 陳曉輝 第1-13章 創(chuàng)意寫作基本理論 -地域文化資源的文學(xué)利用與再開發(fā)
- 2024至2030年中國調(diào)味品市場前景預(yù)測及投資研究報(bào)告
- 江蘇省南通市通州區(qū)通州區(qū)育才中學(xué)2023-2024學(xué)年英語八下期末檢測試題含答案
- 靜配中心腸外營養(yǎng)液TPN藥物配置的操作方法課件
- 醫(yī)院感染應(yīng)急預(yù)案及流程圖
- 廢活性炭管理制度范文
- YYT 0972-2016 有源植入醫(yī)療器械 植入式心律調(diào)節(jié)設(shè)備用四極連接器系統(tǒng) 尺寸和試驗(yàn)要求
- DB44-T 2480-2024 鋁及鋁合金深井鑄造安全技術(shù)規(guī)范
- 胸痛診療科普課件
評論
0/150
提交評論