bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

怎么在springboot中利用CASClient實現單點登陸驗證-創新互聯

怎么在spring boot中利用CAS Client實現單點登陸驗證?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創新互聯公司長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為伊吾企業提供專業的成都做網站、網站制作,伊吾網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。

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; 
 } 
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。

網頁名稱:怎么在springboot中利用CASClient實現單點登陸驗證-創新互聯
網站URL:http://vcdvsql.cn/article44/ceooee.html

成都網站建設公司_創新互聯,為您提供標簽優化網站策劃用戶體驗面包屑導航全網營銷推廣App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發