亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Spring Security整合CAS的示例代碼

2024-07-14 08:41:28
字體:
來源:轉載
供稿:網友

這里使用的是spring-security和原生的jasig cas包來進行整合,為什么沒有直接使用spring提供的spring-security-cas,后面會進行解釋。

配置

web.xml

<filter> <filter-name>casFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping> <filter-name>casFilterChain</filter-name> <url-pattern>/*</url-pattern></filter-mapping><listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class></listener>

applicationContext-security.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:security="http://www.springframework.org/schema/security"  xmlns:util="http://www.springframework.org/schema/util"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  http://www.springframework.org/schema/security  http://www.springframework.org/schema/security/spring-security-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <bean id="casFilterChain" class="org.springframework.security.web.FilterChainProxy">  <constructor-arg>   <util:list>    <security:filter-chain pattern="/**" filters="singleSignOutFilter, cas20ProxyReceivingTicketValidationFilter, authenticationFilter, httpServletRequestWrapperFilter, assertionThreadLocalFilter"/>   </util:list>  </constructor-arg> </bean> <bean id="singleSignOutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/> <bean id="cas20ProxyReceivingTicketValidationFilter"   class="org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter">  <property name="serverName" value="${client.url}"/>  <property name="ticketValidator" ref="cas20ServiceTicketValidator"/> </bean> <bean id="cas20ServiceTicketValidator" class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">  <constructor-arg value="${cas.url}"/>  <property name="renew" value="false"/> </bean> <bean id="authenticationFilter" class="org.jasig.cas.client.authentication.AuthenticationFilter">  <property name="renew" value="false"/>  <property name="casServerLoginUrl" value="${cas.url}"/>  <property name="serverName" value="${client.url}"/> </bean> <bean id="httpServletRequestWrapperFilter" class="org.jasig.cas.client.util.HttpServletRequestWrapperFilter"/> <bean id="assertionThreadLocalFilter" class="org.jasig.cas.client.util.AssertionThreadLocalFilter"/></beans>

properties

#CAS服務地址cas.url=https://cas.example.com:8443#CAS客戶端地址,就是本應用的地址client.url=http://localhost:8080

分析

在applicationContext-security.xml中的security filter chain中,我們使用了5個filter,分別是:singleSignOutFilter、cas20ProxyReceivingTicketValidationFilter、authenticationFilter、httpServletRequestWrapperFilter、assertionThreadLocalFilter。

為什么不用spring-security-cas

spring-security-cas

在spring-security-cas中負責ticket validator filter使用的是org.springframework.security.cas.authentication.CasAuthenticationProvider。

private CasAuthenticationToken authenticateNow(final Authentication authentication) throws AuthenticationException { try {  final Assertion assertion = this.ticketValidator.validate(authentication.getCredentials().toString(), getServiceUrl(authentication));  ...

在構建validator的validator方法的第二個參數時

private String getServiceUrl(Authentication authentication) { String serviceUrl; if(authentication.getDetails() instanceof ServiceAuthenticationDetails) {  serviceUrl = ((ServiceAuthenticationDetails)authentication.getDetails()).getServiceUrl(); }else if(serviceProperties == null){  throw new IllegalStateException("serviceProperties cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails."); }else if(serviceProperties.getService() == null){  throw new IllegalStateException("serviceProperties.getService() cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails."); }else {  serviceUrl = serviceProperties.getService(); } if(logger.isDebugEnabled()) {  logger.debug("serviceUrl = "+serviceUrl); } return serviceUrl;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精自产拍久久久久久| 久久成人综合视频| 欧美丝袜一区二区| 日本国产精品视频| 美日韩在线视频| 欧美日韩在线视频一区二区| 亚洲欧美日韩精品久久亚洲区| 亚洲国产成人精品女人久久久| 欧美特级www| 2021国产精品视频| 亚洲欧美精品伊人久久| 久久久久久久久久久国产| 中文字幕亚洲一区| 中文字幕亚洲欧美日韩高清| 欧美亚洲成人精品| 国产日产亚洲精品| 久久久999精品免费| 中文字幕亚洲欧美一区二区三区| 国产精品久久久久久久久粉嫩av| 国产成人精品免高潮费视频| 97碰碰碰免费色视频| 亚洲精品视频二区| 国内伊人久久久久久网站视频| 国产精品第三页| 日韩有码视频在线| 久久中国妇女中文字幕| 国产精品草莓在线免费观看| 久久久久久久久久久久av| 精品在线欧美视频| 中文字幕不卡av| 欧洲成人午夜免费大片| 午夜精品一区二区三区在线视| 亚洲新声在线观看| 久久综合免费视频| 亚洲成人精品视频| 国产热re99久久6国产精品| 91精品国产色综合久久不卡98| 欧美精品videofree1080p| 国产一区视频在线| 91视频免费在线| 亚洲人成网站色ww在线| 国产精品视频大全| 日韩电影免费观看在线观看| 亚洲精品不卡在线| 日韩一区在线视频| 成人性生交大片免费看视频直播| 性色av一区二区三区红粉影视| 欧美电影在线观看| 精品美女久久久久久免费| 国产成人综合av| 日韩电影免费观看在线观看| 国产精品高潮呻吟久久av无限| 久久人91精品久久久久久不卡| 精品无码久久久久久国产| 91精品国产91久久久久| 欧美一级淫片丝袜脚交| 欧美大尺度激情区在线播放| 法国裸体一区二区| 国产精品欧美在线| 91精品国产自产91精品| 久久久久久国产精品三级玉女聊斋| 91精品久久久久久久久久久久久久| 久久久久久国产精品| 亚洲精品成人久久电影| 国产成人自拍视频在线观看| 亚洲永久免费观看| 午夜精品一区二区三区视频免费看| 久久久久久久国产| 日韩av在线网站| 超薄丝袜一区二区| 国产精品久久久久7777婷婷| 91九色国产视频| 亚洲第一精品电影| 欧美成人免费网| 欧美激情视频三区| 91免费高清视频| 欧美一区二区影院| 欧美成人精品激情在线观看| 色视频www在线播放国产成人| 一本色道久久88亚洲综合88| 欧美视频在线视频| 青草成人免费视频| 久久久国产一区| 国产精品中文字幕久久久| 日韩免费在线电影| 色偷偷av亚洲男人的天堂| 久久亚洲私人国产精品va| 色爱精品视频一区| 亚洲人成伊人成综合网久久久| 97久久久免费福利网址| 日韩av手机在线看| 色综合久久久888| 国产日本欧美一区| 91网站在线看| 成人情趣片在线观看免费| 国产精品嫩草影院久久久| 国产精品久久久久久久久久久新郎| 欧美日韩国产第一页| 亚洲iv一区二区三区| 91视频国产精品| 国产精品v日韩精品| 91亚洲午夜在线| 亚洲欧美国产va在线影院| 国产精品第100页| 97国产在线观看| 日韩欧美国产网站| 亚洲综合社区网| 亚洲最新中文字幕| 亚洲视频欧美视频| 欧美日韩在线观看视频小说| 亚洲精品国产美女| 久久亚洲影音av资源网| 欧美大片在线影院| 91手机视频在线观看| 国产精品久久久久久久久免费看| 在线精品播放av| 91在线免费视频| 午夜精品三级视频福利| 最近2019中文字幕在线高清| 欧美一区二区三区精品电影| 日韩美女在线观看一区| 欧美日韩国产成人在线观看| 欧美综合在线第二页| 欧美成人精品在线观看| 欧美亚洲视频在线观看| 色婷婷久久一区二区| 成人精品aaaa网站| 国产国语videosex另类| 亚洲九九九在线观看| 亚洲最大av在线| 91精品国产高清久久久久久91| 欧美国产欧美亚洲国产日韩mv天天看完整| 97人人爽人人喊人人模波多| 国内外成人免费激情在线视频网站| 国产精品久久99久久| 欧美激情视频在线免费观看 欧美视频免费一| 成人黄在线观看| 亚洲一区亚洲二区亚洲三区| 精品在线小视频| 欧美高清videos高潮hd| 日韩亚洲综合在线| 国产精品国产三级国产aⅴ浪潮| 在线看日韩欧美| 中文字幕视频在线免费欧美日韩综合在线看| 国产亚洲免费的视频看| 久久视频精品在线| 国产视频在线一区二区| 精品亚洲一区二区三区在线播放| 欧美日韩国产色视频| 成人伊人精品色xxxx视频| 91精品视频在线| 秋霞av国产精品一区| 538国产精品一区二区在线| 欧美日韩在线视频首页| 日韩精品有码在线观看| 91视频国产高清| 久久九九免费视频| 国产精品中文久久久久久久| 国产欧美久久久久久| 国产亚洲精品久久久久久牛牛| 国产日韩在线免费| 国产日韩欧美在线看| 中文字幕日韩欧美在线| 日韩av中文字幕在线播放|