2024年4月28日
之前没在shiroConfig里加public FilterRegistrationBean singleSignOutFilter() ;可以实现单点登录,登出有问题,家里这个方法后,启动报错: java.lang.IllegalArgumentException: casServerUrlPrefix cannot be null. at org.jasig.cas.client.util.CommonUtils.assertNotNull(CommonUtils.java:87) at org.jasig.cas.client.session.SingleSignOutHandler.init(SingleSignOutHandler.java:130) at org.jasig.cas.client.session.SingleSignOutFilter.init(SingleSignOutFilter.java:54) ………………………………… package com.audaque.gm.config; import com.audaque.gm.modules.sys.shiro.ShiroPermsFilterFactoryBean; import com.audaque.gm.modules.sys.shiro.UserFilter; import com.audaque.gm.modules.sys.shiro.UserPermFilter; import com.audaque.gm.modules.sys.sso.CallbackFilter; import com.audaque.gm.modules.sys.sso.CasRealm; import com.audaque.gm.support.shiro.listener.UserSessionListener; import com.audaque.gm.support.shiro.session.UserSessionDAO; import com.audaque.gm.support.shiro.session.UserSessionFactory; import io.buji.pac4j.filter.LogoutFilter; import io.buji.pac4j.filter.SecurityFilter; import io.buji.pac4j.subject.Pac4jSubjectFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.session.SessionListener; import org.apache.shiro.session.mgt.SessionManager; import org.apache.shiro.session.mgt.eis.MemorySessionDAO; import org.apache.shiro.session.mgt.eis.SessionDAO; import org.apache.shiro.spring.LifecycleBeanPostProcessor; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.servlet.SimpleCookie; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.jasig.cas.client.session.SingleSignOutFilter; import org.jasig.cas.client.session.SingleSignOutHttpSessionListener; import org.pac4j.core.config.Config; import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; 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 org.springframework.context.annotation.DependsOn; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.filter.DelegatingFilterProxy;……
阅读全文
2024年4月28日
1.在pom.xml中添加: <<span><strong>dependency</strong></span>> <<span><strong>groupId</strong></span>>org.pac4j</<span><strong>groupId</strong></span>> <<span><strong>artifactId</strong></span>>pac4j-cas</<span><strong>artifactId</strong></span>> <<span><strong>version</strong></span>>2.1.0</<span><strong>version</strong></span>> </<span><strong>dependency</strong></span>> <<span><strong>dependency</strong></span>> <<span><strong>groupId</strong></span>>io.buji</<span><strong>groupId</strong></span>> <<span><strong>artifactId</strong></span>>buji-pac4j</<span><strong>artifactId</strong></span>> <<span><strong>version</strong></span>>3.0.0</<span><strong>version</strong></span>> </<span><strong>dependency</strong></span>> <span>2.新增Pac4jConfig.java文件</span> <pre data-index="5" name="code"></pre><br> 3.修改ShiroConfig.java文件 <span> 增加 </span> <span></span><pre data-index="9" name="code"></pre><br> <span>修改Bean shiroFilter 方法,增加</span>……
阅读全文
2024年4月28日
cas client与shiro集成框架pac4j源码分析 一、前言 二、安全过滤器 三、CallbackFilter 四、LogoutFilter 一、前言 pac4j-cas关键filter有3个,分别为io.buji.pac4j.filter.SecurityFilter、io.buji.p……
阅读全文
2024年4月28日
告别shiro-cas单点登录集成库,这款简单且强壮的Java Web安全引擎pac4j你值得拥有 一、缘何遇到该引擎 二、引擎能力 三、引擎特征 四、十大核心组件 五、项目移植 5.1 导包 5.2 配置 5.3 重写认证和授权函数 5.4 调试 5.4.1 CAS验证原理 5.4.2 单点登录流程分析 5.5 完成 pac4j官网地址传送门。 pac4j……
阅读全文
2024年4月28日
JFinal最强集成方案 Jifnal+Shiro+Pac4j+Cas+Redis 简介 CAS Pac4J 集成配置 Jifnal+Shiro+Pac4j+Cas+Redis 简介 公司以前使用了Jifnal做了一个基础后台管理系统,主要使用了Jifnal+Shiro进行开发.随后交由我 进行后续的升级以及功能的完善.由于jfinal和shiro集成的时候默认使用的Ehcache对集群部署以 及分布式部署会出问题,……
阅读全文
2024年4月28日
前言 上一篇文章介绍了 cas 环境搭建过程 本文介绍下cas和shiro集成代码实现及数据流转过程简介 先看下实现的效果 1 2 3 访问 http://localhost:8086/demo1 转发到认证中心 1 2 3 输入登陆账号 回到demo1页面 1 2 3 再次访问 http://localhost:8086/demo1 直接会跳转到 demo1页面 点击退出 项目启动[按照运行顺序] 实例化 LifecycleBeanPostProcessor bean生命周期管理类 1 使用……
阅读全文
2024年4月28日
环境: casServer 5.2.6 pac4j-cas 3.0.2 buji-pac4j 4.0.0 shiro 1.9.1 (ruoyi不分离版) 集成 先按照这个帖子集成 客户端配置成IP地址 启动两个客户端,在直接写IP地址的情况下就可以实现单点登录和单点登出。 域名单点登出 按照上面配置好,把cas服务和客户端地址改成域名,就会发现服务A退出登录,服务B却依然在线,只能等ST过期后才会……
阅读全文
2024年4月28日
开发者社区 云计算 文章 正文 2022-04-23 191 版权 简介: shiro、cas、pac4j 实现单点登陆(1) 前言 <span><span></span><span>上一篇文章介绍了 cas 环境搭建过程 </span></span><s……
阅读全文
2024年4月28日
平凡人笔记 于 2020-06-11 18:04:40 发布 前言 上一篇文章介绍了 cas 环境搭建过程 本文介绍下cas和shiro集成代码实现及数据流转过程简介 先看下实现的效果 1 2 3 访问 http://localhost:8086/demo1 转发到认证中心 1 2 3 输入登陆账号 回到demo1页面 1 2 3 再次访问 http://localhost:8086/demo1 直接会跳转到 demo1页面 点击退出 项目启动[按照运行顺序] 实例化 LifecycleBeanPostProcessor bean……
阅读全文
2024年4月28日
在leopal提供的链接leopal的帮助下,我知道cas服务器需要将注销请求发送回客户端。 因此,我检查了cas服务器的日志并找到了INFO [org.apereo.cas.logout.DefaultLogoutManager] - <Performing logout operations for。 所以我为org.apereo.cas.logout添加了日志,发现有一些关于注销的类:DefaultLogoutManag……
阅读全文