SpringBoot整合CAS服务

本文详细介绍了如何在SpringBoot项目中整合CAS服务器,包括配置、添加依赖、Bean的实现以及测试过程,展示了CasClient与CASServer之间的通信机制和功能,如单点登录、Ticket验证和Session管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      背景

        上一篇博客里我们成功搭建了一个CAS Server,只有Server,没有Client,未免不太圆满,今天我们继续来熟悉CAS,通过搭建一个SpringBoot项目整合CAS来见证CAS Server 和Cas Client的通信过程。

     SpringBoot整合Cas实践

        1、搭建一个空的SpringBoot项目,这个可以参考我之前的博客Idea2023创建自定义项目骨架,用模板搭建,嘎嘎快,这里就不赘述了。

        2、在application.yml中添加cas的相关配置

cas:
  server-url-prefix: https://server.cas.com:8443/cas
  #cas服务端的登录地址
  server-login-url: https://server.cas.com:8443/cas/login
  #当前服务器的地址(客户端)
  client-host-url: http://localhost:19200
  #Ticket校验器使用Cas30ProxyReceivingTicketValidationFilter
  validation-type: cas3

        3、添加maven依赖


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

        4、添加cas配置类

package com.leixi.casclient.config;


import org.jasig.cas.client.authentication.AuthenticationFilter;
import org.jasig.cas.client.session.SingleSignOutFilter;
import org.jasig.cas.client.session.SingleSignOutHttpSessionListener;
import org.jasig.cas.client.util.HttpServletRequestWrapperFilter;
import org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.EventListener;
import java.util.HashMap;
import java.util.Map;
/**
 *
 * @author leixiyueqi
 * @since 2024/1/5 19:39
 */
@Configuration
public class CasConfig {


    //cas认证服务中心地址
    @Value("${cas.server-url-prefix}")
    private String CAS_SERVER_URL_PREFIX;

    //cas认证服务中心登陆地址
    @Value("${cas.server-login-url}")
    private String CAS_SERVER_URL_LOGIN ;

    @Value("${cas.client-host-url}")
    //客户端的地址
    private String SERVER_NAME;


    @Bean
    public FilterRegistrationBean filterSingleRegistration() {
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值