cas5.2.6单点登录-客户端springboot

CAS集成Springboot项目:

host:

127.0.0.1 www.server.com

127.0.0.1 www.client1.com

1.pom:

<!-- https://mvnrepository.com/artifact/org.jasig.cas.client/cas-client-core -->
        <dependency>
            <groupId>org.jasig.cas.client</groupId>
            <artifactId>cas-client-core</artifactId>
            <version>3.5.0</version>
        </dependency>

2.配置文件配置相关路径:

#cas服务器前缀
server-url-prefix=http://www.server.com:8443/cas/
#登陆路径
server-login-url=http://www.server.com:8443/cas/login
#客户端路径
client-host-url=http://www.client1.com:9003/index
#服务端推出路径
server-logout-url =http://www.server.com:8443/cas/logout
#客户端退出路径
client-logout-url =http://www.server.com:8443/cas/logout?service=http://www.client1.com:9003/logout/success
validation-type=cas
#服务名称
server-name=http://www.client1.com:9003

3.配置cas各种拦截器

/**
     * 登出过滤器
     * @return
     */
    @Bean
    public FilterRegistrationBean filterSingleRegistration() {
        SingleSignOutFilter singleSignOutFilter = new SingleSignOutFilter();
        singleSignOutFilter.setCasServerUrlPrefix(casConfig.getServerUrlPrefix());
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setName("singleSignOutFilter");
        filterRegistrationBean.setFilter(new DelegatingFilterProxy(singleSignOutFilter));
        filterRegistrationBean.setOrder(2);
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
        return filterRegistrationBean;
    }

    /**
     * 授权过滤器,用于登录
     * @return
     */
    @Bean
    public FilterRegistrationBean filterAuthenticationRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new AuthenticationFilter());
        // 设定匹配的路径
        registration.addUrlPatterns("/*");
        Map<String,String>  initParameters = new HashMap<String, String>();
        initParameters.put("casServerLoginUrl", casConfig.getServerUrlPrefix());
        initParameters.put("serverName", casConfig.getServerName());
        initParameters.put("ignorePattern", "/logout/success");
        registration.setInitParameters(initParameters);
        // 设定加载的顺序
        registration.setOrder(3);
        return registration;
    }


    /**
     * ticke验证器
     * @return
     */
    @Bean
    public FilterRegistrationBean filterValidationRegistration() {
        Cas20ProxyReceivingTicketValidationFilter validationFilter = new Cas20ProxyReceivingTicketValidationFilter();
        validationFilter.setServerName(casConfig.getServerName());
        validationFilter.setTicketValidator(ticketValidator());
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setName("validationFilter");
        filterRegistrationBean.setFilter(new DelegatingFilterProxy(validationFilter));
        filterRegistrationBean.setOrder(4);
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }
。。。。。。。。。。。。。。。。。。

具体查看代码:https://github.com/timeday/casspringboot.git

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值