springboot整合cas的client端

(1)添加相应的maven依赖

    • org.jasig.cas.client

    • cas-client-core

    • 3.3.3

(2)添加cas自动配置项 

package com.zb.system.config;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jasig.cas.client.authentication.AuthenticationFilter;
import org.jasig.cas.client.util.AssertionThreadLocalFilter;
import org.jasig.cas.client.util.HttpServletRequestWrapperFilter;
import org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

@Configuration
@Component
public class CasConfig {
    @Bean
    public FilterRegistrationBean authenticationFilterRegistrationBean() {
        FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();
        authenticationFilter.setFilter(new AuthenticationFilter());
        Map initParameters = new HashMap();
        initParameters.put("casServerLoginUrl", "http://cas.casicloud.com/login");
        initParameters.put("serverName", "http://localhost:81");
        authenticationFilter.setInitParameters(initParameters);
        authenticationFilter.setOrder(2);
        List urlPatterns = new ArrayList();
        urlPatterns.add("/front/login");
        // 设置匹配的url
        authenticationFilter.setUrlPatterns(urlPatterns);
        return authenticationFilter;    
    }        
    @Bean
    public FilterRegistrationBean ValidationFilterRegistrationBean(){
        FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();
        authenticationFilter.setFilter(new Cas20ProxyReceivingTicketValidationFilter());
        Map initParameters = new HashMap();
        initParameters.put("casServerUrlPrefix", "http://cas.casicloud.com");
        initParameters.put("serverName", "http://localhost:81");
        authenticationFilter.setInitParameters(initParameters);
        authenticationFilter.setOrder(1);
        List urlPatterns = new ArrayList();
        urlPatterns.add("/front/login");
        // 设置匹配的url
        authenticationFilter.setUrlPatterns(urlPatterns);
        return authenticationFilter;
    }
    @Bean
    public FilterRegistrationBean casHttpServletRequestWrapperFilter(){
        FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();
        authenticationFilter.setFilter(new HttpServletRequestWrapperFilter());
        authenticationFilter.setOrder(3);        
        List urlPatterns = new ArrayList();
        urlPatterns.add("/front/login");
        // 设置匹配的url        
        authenticationFilter.setUrlPatterns(urlPatterns);        
        return authenticationFilter;    
    }        
    @Bean    
    public FilterRegistrationBean casAssertionThreadLocalFilter(){        
        FilterRegistrationBean authenticationFilter = new FilterRegistrationBean();    
        authenticationFilter.setFilter(new AssertionThreadLocalFilter());        
        authenticationFilter.setOrder(4);        
        List urlPatterns = new ArrayList();        
        urlPatterns.add("/front/login");
        // 设置匹配的url        
        authenticationFilter.setUrlPatterns(urlPatterns);        
        return authenticationFilter;    
    }
}

你可能感兴趣的:(cas)