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

首頁 > 開發 > Java > 正文

spring boot整合CAS Client實現單點登陸驗證的示例

2024-07-13 10:16:48
字體:
來源:轉載
供稿:網友

本文介紹了spring boot整合CAS Client實現單點登陸驗證的示例,分享給大家,也給自己留個筆記,具體如下:

單點登錄( Single Sign-On , 簡稱 SSO )是目前比較流行的服務于企業業務整合的解決方案之一, SSO 使得在多個應用系統中,用戶只需要 登錄一次 就可以訪問所有相互信任的應用系統。

CAS Client

負責處理對客戶端受保護資源的訪問請求,需要對請求方進行身份認證時,重定向到 CAS Server 進行認證。(原則上,客戶端應用不再接受任何的用戶名密碼等 Credentials )。

實現方式一:使用第三方的starter

1、依賴的jar

<dependency>   <groupId>net.unicon.cas</groupId>   <artifactId>cas-client-autoconfig-support</artifactId>   <version>1.4.0-GA</version>  </dependency> 

2、增加配置文件

cas.server-url-prefix=http://127.0.0.1 cas.server-login-url=http://127.0.0.1/login cas.client-host-url=http://192.26.4.28:8080 cas.validation-type=CAS 

3、開啟CAS Client支持

@SpringBootApplication @ComponentScan(basePackages={"com.chhliu.emailservice"}) @EnableCasClient // 開啟CAS支持 public class Application extends SpringBootServletInitializer{   public static void main(String[] args) {  SpringApplication.run(Application.class, args);    } } 

通過上面的3步,就可以完成CAS的客戶端認證了!

4、擴展

cas.validation-type目前支持3中方式:1、CAS;2、CAS3;3、SAML

其他可用的配置如下:

cas.authentication-url-patterns cas.validation-url-patterns cas.request-wrapper-url-patterns cas.assertion-thread-local-url-patterns cas.gateway cas.use-session cas.redirect-after-validation cas.allowed-proxy-chains cas.proxy-callback-url cas.proxy-receptor-url cas.accept-any-proxy server.context-parameters.renew 

具體的含義從名字上就可以很清楚的看出來。

實現方式二:手動配置

我們原來使用CAS Client,需要在web.xml中做如下配置:

<filter>  <filter-name>authenticationFilter</filter-name>  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>  <init-param>   <param-name>casServerLoginUrl</param-name>   <param-value>http://127.0.0.1/login</param-value>  </init-param>  <init-param>   <param-name>serverName</param-name>   <param-value>http://192.26.4.28:8080</param-value>  </init-param>  </filter>  <filter-mapping>  <filter-name>authenticationFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>  <!-- 該過濾器負責對Ticket的校驗工作,必須啟用它 -->  <filter>  <filter-name>validationFilter</filter-name>  <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>  <init-param>   <param-name>casServerUrlPrefix</param-name>   <param-value>http://127.0.0.1</param-value>  </init-param>  <init-param>   <param-name>serverName</param-name>   <param-value>http://192.26.4.28:8080</param-value>  </init-param>  <!-- <init-param>   <param-name>redirectAfterValidation</param-name>   <param-value>true</param-value>  </init-param>  <init-param>   <param-name>useSession</param-name>   <param-value>true</param-value>  </init-param> -->  </filter>  <filter-mapping>  <filter-name>validationFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>  <!-- 該過濾器負責實現HttpServletRequest請求的包裹, 比如允許開發者通過HttpServletRequest的getRemoteUser()方法獲得SSO登錄用戶的登錄名,可選配置。 -->  <filter>  <filter-name>httpServletRequestWrapperFilter</filter-name>  <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>  </filter>  <filter-mapping>  <filter-name>httpServletRequestWrapperFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping> 

所以,我們手動配置的時候,需要手動配置上面xml中對應的Filter,代碼如下:

@Configuration @Component public class CasConfigure {   @Bean  public FilterRegistrationBean authenticationFilterRegistrationBean() {  FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();  authenticationFilter.setFilter(new AuthenticationFilter());  Map<String, String> initParameters = new HashMap<String, String>();  initParameters.put("casServerLoginUrl", "http://127.0.0.1/login");  initParameters.put("serverName", "http://192.26.4.28:8080");  authenticationFilter.setInitParameters(initParameters);  authenticationFilter.setOrder(2);  List<String> urlPatterns = new ArrayList<String>();  urlPatterns.add("/*");// 設置匹配的url  authenticationFilter.setUrlPatterns(urlPatterns);  return authenticationFilter;  }   @Bean  public FilterRegistrationBean ValidationFilterRegistrationBean(){  FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();  authenticationFilter.setFilter(new Cas20ProxyReceivingTicketValidationFilter());  Map<String, String> initParameters = new HashMap<String, String>();  initParameters.put("casServerUrlPrefix", "http://127.0.0.1");  initParameters.put("serverName", "http://192.26.4.28:8080");  authenticationFilter.setInitParameters(initParameters);  authenticationFilter.setOrder(1);  List<String> urlPatterns = new ArrayList<String>();  urlPatterns.add("/*");// 設置匹配的url  authenticationFilter.setUrlPatterns(urlPatterns);  return authenticationFilter;  }   @Bean  public FilterRegistrationBean casHttpServletRequestWrapperFilter(){  FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();  authenticationFilter.setFilter(new HttpServletRequestWrapperFilter());  authenticationFilter.setOrder(3);  List<String> urlPatterns = new ArrayList<String>();  urlPatterns.add("/*");// 設置匹配的url  authenticationFilter.setUrlPatterns(urlPatterns);  return authenticationFilter;  }   @Bean  public FilterRegistrationBean casAssertionThreadLocalFilter(){  FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();  authenticationFilter.setFilter(new AssertionThreadLocalFilter());  authenticationFilter.setOrder(4);  List<String> urlPatterns = new ArrayList<String>();  urlPatterns.add("/*");// 設置匹配的url  authenticationFilter.setUrlPatterns(urlPatterns);  return authenticationFilter;  } } 

通過上面的配置,也可以完成CAS Client的認證

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


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品高潮在线| 国产亚洲精品久久久久久牛牛| 不卡av日日日| 大荫蒂欧美视频另类xxxx| 国产精品成人久久久久| 日韩女优人人人人射在线视频| 久久久精品视频在线观看| 久久久久久噜噜噜久久久精品| 精品高清美女精品国产区| 亚洲欧美日韩一区二区三区在线| 国产亚洲精品一区二555| 亚洲美女免费精品视频在线观看| 精品av在线播放| 91香蕉电影院| 欧美一级淫片丝袜脚交| 不卡av日日日| 国产亚洲精品成人av久久ww| 中文字幕精品在线视频| 91成人性视频| 法国裸体一区二区| 国产综合视频在线观看| 久久久精品久久| 亚洲最大的网站| 亚洲美女精品成人在线视频| 欧美成人精品三级在线观看| 亚洲va欧美va国产综合剧情| 日韩av成人在线观看| 中文字幕在线国产精品| 在线观看精品国产视频| 日韩在线视频线视频免费网站| 国产精品中文久久久久久久| 中文字幕欧美国内| 日韩精品免费综合视频在线播放| 夜夜嗨av色综合久久久综合网| www.美女亚洲精品| …久久精品99久久香蕉国产| 九九热这里只有精品6| 8050国产精品久久久久久| 大胆人体色综合| 欧美性jizz18性欧美| 久久这里只有精品视频首页| 91在线观看免费观看| 欧美极品美女电影一区| 国产精品第一区| 日本精品久久中文字幕佐佐木| 欧美成人h版在线观看| 日韩视频在线观看免费| 琪琪亚洲精品午夜在线| 亚洲精品98久久久久久中文字幕| 久久久久久久久久久久av| 国产视频丨精品|在线观看| 色www亚洲国产张柏芝| 欧美高清理论片| www.日韩视频| 精品国产一区二区三区久久久狼| 亚洲精品国产综合久久| 91色中文字幕| 久久九九亚洲综合| 日韩欧美在线视频观看| 夜夜狂射影院欧美极品| 国产精品第一第二| 日韩美女中文字幕| 日韩av网站在线| 久久久久久久网站| 亚洲美女动态图120秒| 国产在线久久久| 国产精品日韩在线| 欧美在线一区二区视频| 国产精品尤物福利片在线观看| 亚洲字幕一区二区| 亚洲伊人一本大道中文字幕| 国产一区二区三区网站| 77777亚洲午夜久久多人| 亚洲午夜av久久乱码| 91亚洲精品一区| 国产婷婷97碰碰久久人人蜜臀| 欧美激情中文字幕乱码免费| 久久精品国产精品亚洲| 伊人亚洲福利一区二区三区| 国产精品男女猛烈高潮激情| 久久中文精品视频| 欧洲精品在线视频| 欧美裸身视频免费观看| 欧美激情2020午夜免费观看| 国产精品三级美女白浆呻吟| 黑人巨大精品欧美一区二区| 亚洲深夜福利视频| 亚洲激情视频在线播放| 这里只有视频精品| 久久久久久美女| 欧美激情视频在线免费观看 欧美视频免费一| 久久久久九九九九| 亚洲视频专区在线| 日韩视频免费中文字幕| 丝袜情趣国产精品| 97在线视频免费看| 久久久国产一区二区| 欧美乱人伦中文字幕在线| 久久久久久久久久久国产| 91精品在线观看视频| 青草青草久热精品视频在线观看| 国产精品入口夜色视频大尺度| 欧美性受xxx| 欧美性猛交xxxxx水多| 久久香蕉国产线看观看网| 久久国产精品99国产精| 欧美日韩免费网站| 韩国精品美女www爽爽爽视频| 日韩精品在线免费播放| 国产精品日韩欧美大师| 91久久久精品| 国产精品99久久99久久久二8| 日韩在线观看免费全集电视剧网站| 中文字幕久热精品视频在线| 亚洲精品99久久久久中文字幕| 国产精品96久久久久久又黄又硬| 欧美体内谢she精2性欧美| 久久精品2019中文字幕| 日韩女优人人人人射在线视频| 久久视频精品在线| 久久久精品美女| 久久久国产一区| 日韩欧美在线播放| 亚洲国产另类久久精品| 亚洲伊人一本大道中文字幕| 韩国欧美亚洲国产| 狠狠色噜噜狠狠狠狠97| 日韩欧美中文免费| xxav国产精品美女主播| 亚洲日本中文字幕免费在线不卡| 国产精品久久色| 久久香蕉精品香蕉| 亚洲成人在线视频播放| 欧美成人一区二区三区电影| 欧美精品在线观看| 国产91精品在线播放| 国产精品一区二区三区成人| 97不卡在线视频| 欧美大片免费看| 久久精品中文字幕免费mv| 在线观看免费高清视频97| 国产一区二区精品丝袜| 日韩在线免费视频观看| 亚洲free性xxxx护士hd| 91精品啪aⅴ在线观看国产| 欧美猛交ⅹxxx乱大交视频| 色综合久久久888| 欧美成人三级视频网站| 正在播放欧美一区| 国产精品吹潮在线观看| 精品激情国产视频| 色综合色综合久久综合频道88| 欧美精品一二区| 正在播放欧美一区| 91av在线免费观看视频| 中文字幕精品影院| 亚洲精品综合精品自拍| 国产成人黄色av| 日韩精品日韩在线观看| 久久精品视频免费播放| 精品国产一区二区三区四区在线观看| 亚洲成色www8888| 国产精品成人久久久久| 91精品在线观|