? ? ? ? 現(xiàn)在我們可以進(jìn)行CAS客戶端的配置了搂根。
第一步
? ? ? ? 客戶端配置,就是我們針對(duì)每個(gè)應(yīng)用服務(wù)器的配置铃辖,添加 cas-client 的jar包剩愧。
? ? ? ? 在pom.xml里面添加cas依賴。
?<dependency>?
? ??????<groupId>org.jasig.cas.client</groupId>
? ??????<artifactId>cas-client-core</artifactId>
? ??????<version>3.2.1</version>?
</dependency>??
第二步
? ? ? ? 在應(yīng)用程序web.xml里面配置filter娇斩。
? ? ? ? 1仁卷、單點(diǎn)登出配置
<listener>
? ??????<listener-class> org.jasig.cas.client.session.SingleSignOutHttpSessionHandler</listener-class>
</listener>
<filter>
? ? ? ? <filter-name>CAS Single Sign Out Filter</filter-name>
? ?????? <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>????
</filter>
<filter-mapping>
? ?????? <filter-name>CAS Single Sign Out Filter</filter-name>
? ? ? ? <url-pattern>/*</url-pattern>
</filter-mapping>
? ? ? ? 2、用戶認(rèn)證過(guò)濾器配置犬第,casServerLoginUrl:cas服務(wù)端登錄地址锦积,serverName:應(yīng)用服務(wù)器地址
<filter>
? ????? <filter-name>CASFilter</filter-name>
? ??????<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>?
? ? ? ? <init-param> ? ?
? ?????????????? <param-name>casServerLoginUrl</param-name>
? ? ? ? ? ? ? ? ?<param-value>https://www.bhz.com:8443/cas/login</param-value>
? ?????? </init-param>
? ?????? <init-param>
? ???????????????<param-name>serverName</param-name>
? ?????????????? <param-value>http://localhost:8080/</param-value>
? ?????? </init-param>
?</filter>
<filter-mapping>
? ?????? <filter-name>CASFilter</filter-name>
? ?????? <url-pattern>/*</url-pattern>
</filter-mapping>?
? ? ? ? 3、配置對(duì) Ticket 進(jìn)行校驗(yàn)工作的過(guò)濾器歉嗓。
<filter>?
? ?????? <filter-name>CAS Validation Filter</filter-name>?
? ?????? <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>?
? ?????? <init-param>
? ?????????????? <param-name>casServerUrlPrefix</param-name>
? ?????????????? <param-value> https://www.bhz.com:8443/cas</param-value>
? ?????? </init-param>
? ?????? <init-param>
? ?????????????? <param-name>serverName</param-name>
? ?????????????? <param-value>http://localhost:8080/</param-value>
? ?????? </init-param>
? ?????? <init-param>
? ??????????????<param-name>encoding</param-name>
? ??????????????<param-value>UTF-8</param-value>
? ?????? </init-param>
?</filter>
? <filter-mapping> ? ? ?
? ?????? <filter-name>CAS Validation Filter</filter-name>
? ? ? ? ? <url-pattern>/*</url-pattern>
</filter-mapping>
? ? ? ? 4丰介、HttpServletRequestWrapperFilter 與 AssertionThreadLocalFilter配置
? ??????HttpServletRequestWrapperFilter實(shí)現(xiàn)對(duì)HttpServletRequest請(qǐng)求的封裝,比如允許開(kāi)發(fā)者通過(guò)getUserPrincipal().getRemoteUser()獲取SSO登錄用戶的登錄名鉴分。
? ??????AssertionThreadLocalFilter使得開(kāi)發(fā)者可以通過(guò)getAssertion().getPrincipal().getName();獲取SSO登錄用戶的登錄名哮幢。
<!--HttpServletRequestWrapperFilter-->
<filter>
????????<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
????????<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
????????<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
? ? ? ? <url-pattern>/*</url-pattern>
</filter-mapping>
<!--AssertionThreadLocalFilter-->
<filter>
????????<filter-name>CAS Assertion Thread Local Filter</filter-name>
????????<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
????????<filter-name>CAS Assertion Thread Local Filter</filter-name>
????????<url-pattern>/*</url-pattern>
</filter-mapping>
? ? ? ? 這樣客戶端的配置工具就完成了。