单点登录Apereo CAS 7.1客户端登出配置及免认证页面问题

从上一篇博客中,我们已经实现了CAS客户端集成和服务端授权,能够通过统一认证登录访问系统资源了,接下来我们讲一下如何实现CAS客户端登出及免认证页面配置的问题,还有以个人见解讲一下CAS和Spring security的关系。

上一篇博客:单点登录Apereo CAS 7.1客户端集成教程-CSDN博客

客户端登出

添加logout接口

我们添加一个logout接口,这里主要是两个步骤:1、销毁当前的会话;2、跳转到cas的logout,通知CAS登出。

其中这里获取会话使用的是 request.getSession(false),如果直接使用request.getSession(),那么在没有会话的时候,会自动创建一个会话,这就没必要了。

    @RequestMapping("/logout")public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException {// 获取会话HttpSession session = request.getSession(false);if (session != null) {// 销毁会话session.invalidate();}// 重定向到登出成功页面response.sendRedirect("http://localhost:8443/cas/logout");}

现在我们登录后,再访问http://localhost:8090/logout ,系统会注销会话并,然后跳转到cas的logout页面,页面提示已经注销成功。重新访问应用,已经提示需要重新登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE 开发——Vue学习(三)—— 智慧商城项目

目录 解释各个模块 api接口模块:发送ajax请求的接口模块utils工具模块:自己封装的一些工具方法模块components组件模块:全局通用的组件router路由模块:封装要所有路由views:各个页面assets:各种资源 van…

源码编译llama.cpp for windows on arm

源码编译llama.cpp for windows on arm 这里有编译好的,直接下载使用 https://github.com/turingevo/llama.cpp-build/releases 1 先编译openblas for windows on arm 查看我的文章 《源码编译 openblas for windows on arm》 2 启用OpenBlas加速 上一步openb…

Java+Jenkins实现自动化打包部署流程

目录 jenkins简介 前置依赖 1. jdk17 2.apache maven 3.8.6 3.git 4.docker 5.下载jenkins 启动配置jenkins 优缺点对比 Jenkins 的优点: Jenkins 的缺点: jenkins简介 Jenkins 是一个开源的自动化服务器,可以用于自动化各种任务&…

Mistral AI 开源 Pixtral 12B 多模态 LLM,多场景能力理解,支持中文指令遵循!

Mistral AI 开源了 Pixtral 12B 多模态 LLM。具有自然场景理解,代码生成,图像转代码,图像理解,多图指令跟随,图表理解与分析以及复杂图形推理等多项能力。从效果演示来看模型的能力很强,其中对中文能力的理…

利用C++封装鼠标轨迹算法为DLL:游戏行为检测的利器

在现代软件开发中,鼠标轨迹模拟技术因其在自动化测试、游戏脚本编写等领域的广泛应用而备受青睐。本文将介绍如何使用C语言将鼠标轨迹算法封装为DLL(动态链接库),以便在多种编程环境中实现高效调用,同时探讨其在游戏行…

pymobiledevice3使用介绍(安装、常用命令、访问iOS沙盒目录)

项目地址:https://github.com/doronz88/pymobiledevice3 首先先介绍一下pymobiledevice3, pymobiledevice3是用Python3 实现的,用于处理 iDevices(iPhone 等)。它可以跨平台使用,支持:windows…

Python | Leetcode Python题解之第479题最大回文数乘积

题目: 题解: class Solution:def largestPalindrome(self, n: int) -> int:if n 1:return 9upper 10 ** n - 1for left in range(upper, upper // 10, -1): # 枚举回文数的左半部分p, x left, leftwhile x:p p * 10 x % 10 # 翻转左半部分到其…

ORACLE 批量插入更新删除sql

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace"com.nari.devices.mapper.KeySchedu…

【论文笔记】Fine-tuned CLIP Models are Efficient Video Learners

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Fine-tuned CLIP Models a…

aws(学习笔记第五课) AWS的firewall SecurityGroup,代理转发技术

aws(学习笔记第五课) AWS的firewall– SecurityGroup&#xff0c;代理转发技术 学习内容&#xff1a; AWS的firewall– SecurityGroup代理转发技术 1. AWS的filewall– SecurityGroup 控制进入虚拟服务器的网络流量 通常的firewall(防火墙)配置 AWS上使用安全组进行网络流量…

contact form 7设置方法与详细步骤

Contact Form 7(CF7)是WordPress中非常流行的表单插件&#xff0c;用于创建和管理网站上的联系表单。以下是Contact Form 7的设置方法与详细步骤&#xff1a; 一、安装Contact Form 7插件 从WordPress后台安装&#xff1a; 登录WordPress后台&#xff0c;进入“插件”菜单下…

SpringCloud-OpenFeign-服务接口调用

是什么 把需要暴露的api使用接口来暴露&#xff0c;客户端需要调用的时候&#xff0c;直接查看这个接口中有没有就可以了 通用步骤 架构说明 common模块 common 引入 openfeign 新建服务接口类 FeignClient(value "cloud-payment-service") // 服务名 public i…

大数据学习整理资料

基础&#xff1a; 1&#xff0c;HDFS&#xff08;懂原理就行&#xff0c;会基础命令&#xff09; https://www.bilibili.com/video/BV1gt411q7qw?spm_id_from333.788.videopod.episodes&vd_sourcea7b3a19b19885546976b75c802e7a3f8&p27 2&#xff0c;MapReduce&#x…

C语言的预处理指令

文章目录 宏定义简单的宏带参数的宏宏的通用属性实际编程中&#xff0c;遵守的一些规范预定义宏参数个数可变的宏#运算符与##运算符(了解即可&#xff0c;用的不多) 条件编译#if指令和#endif指令defined运算符#ifdef指令和#ifndef指令#elif指令和#else指令 C语言中&#xff0c;…

SwiftUI 6.0(iOS 18)自定义容器值(Container Values)让容器布局渐入佳境(上)

概述 我们在之前多篇博文中已经介绍过 SwiftUI 6.0&#xff08;iOS 18&#xff09;新增的自定义容器布局机制。现在&#xff0c;如何利用它们对容器内容进行“探囊取物”和“聚沙成塔”&#xff0c;我们已然胸有成竹了。 然而&#xff0c;除了上述鬼工雷斧般的新技巧之外&…

finereport 数据下钻

目标&#xff1a;点击某块汇总的单元格&#xff0c;然后直接在原表的位置下钻到明细表&#xff0c;且不会影响整个大屏的结构&#xff0c;同时又支持明细表再回退到汇总表的功能 1、新建tab组件 1、新建决策报表 将 body 的布局方式改为「绝对布局」 2、将 Tab 块拖入 body…

@Id、@GeneratedValue的作用,以及@GeneratedValue的使用

在Java持久化API&#xff08;JPA&#xff09;中&#xff0c;Id和GeneratedValue注解是用于定义实体类的主键字段和主键生成策略的。这两个注解在构建基于JPA的ORM&#xff08;对象关系映射&#xff09;框架&#xff08;如Hibernate&#xff09;的应用时非常关键。 Id Id注解用…

小白都来用这款AI绘画神器,IDEOGRAM2.0,轻松画出高质量图片

大家好&#xff01;我是宇航&#xff0c;一位喜欢AI绘画的10年技术专家&#xff0c;专注于输出AI绘画与视频内容 今天给大家介绍一款绝对的生图神器——Ideogram2.0! 不论你是AI小白&#xff0c;手残党还是资深玩家&#xff0c;无论你是做网页设计&#xff0c;电商&#xff0c…

【Python爬虫实战】正则:从基础字符匹配到复杂文本处理的全面指南

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、正则表达式 &#xff08;一&#xff09;正则表达式的基本作用 &#xf…

The Android SDK location cannot be at the filesystem root

win11&#xff0c; 安装启动完Android Studio后&#xff0c;一直显示 The Android SDK location cannot be at the filesystem root因此需要下载SDK包&#xff0c;必须开启代理。 开启代理后&#xff0c;在System下开启自动检测代理&#xff0c;如图 重启Android Studio&a…