shiro动态更新权限

SpringBoot 整合 Shiro 实现动态权限加载更新+ Session 共享 + 单点登录 一.说明 二.项目环境 二.编写项目基础类 三.编写Shiro核心类 四.实现权限控制 五.POSTMAN测试 六.项目源码 一.说明 Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用户的会话管理,虽然Shiro没有SpringSecurity功能更丰富,但是它轻量,简单,在项目中通常业务需求... 阅读详情

转至 http://zgzty.blog.163.com/blog/static/83831226201361134047834/ 有删减

自定义一个shiroFilterFactoryBean

import java.util.Map;

import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.filter.mgt.DefaultFilterChainManager;
import org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver;
import org.apache.shiro.web.servlet.AbstractShiroFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.aomaisoft.openfire.plugin.usionmrg.web.service.permission.PermissionService;

/**
 * 自定义shiro过滤器,初始化时从数据库读入url权限
 * 
 * @author 20005
 * @createDate 2014-7-23 上午09:38:26
 */
public class MyShiroFilterFactory extends ShiroFilterFactoryBean {
	private static ShiroFilterFactoryBean shiroFilterFactoryBean = null;
	private static Logger logger = LoggerFactory
			.getLogger(MyShiroFilterFactory.class);

	/**
	 * 初始化时加载filterChainDefinitions
	 */
	public MyShiroFilterFactory() {
		super();
		// 从数据库中读入URL权限列表
		setFilterChainDefinitions(new PermissionService().getAllPermissions());
		shiroFilterFactoryBean=this;
	}

	/**
	 * 重新加载数据库权限
	 * 
	 * @author 20005
	 * @createDate 2014-7-28 下午05:28:04
	 */
	public static void reloadChainDefinitions() {
		AbstractShiroFilter shiroFilter = null;
		try {
			shiroFilter = (AbstractShiroFilter) shiroFilterFactoryBean
					.getObject();
		} catch (Exception e) {
			logger.error("getShiroFilter from shiroFilterFactoryBean error!", e);
		}

		PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter
				.getFilterChainResolver();
		DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver
				.getFilterChainManager();

		// 清空老的权限控制
		manager.getFilterChains().clear();

		shiroFilterFactoryBean.getFilterChainDefinitionMap().clear();
		shiroFilterFactoryBean
				.setFilterChainDefinitions(new PermissionService()
						.getAllPermissions());
		// 重新构建生成
		Map<String, String> chains = shiroFilterFactoryBean
				.getFilterChainDefinitionMap();
		for (Map.Entry<String, String> entry : chains.entrySet()) {
			String url = entry.getKey();
			String chainDefinition = entry.getValue().trim().replace(" ", "");
			manager.createChain(url, chainDefinition);
		}
	}
}


SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 1、开发环境 MyBatis-Plus版本: 3.1.0 SpringBoot版本:2.1.5 JDK版本:1.8 Shiro版本:1.4 Shiro-redis插件版本:3.1.0 2、数据库中测试号的密码进行了加密,密码皆为123456 立即下载

相关推荐

Kerberos基础及KDC服务(理论知识)

kerberos基础理论讲解+KDC服务

Siobhan_Mxin的博客 9711

shiro Filter加载和执行 源码解析

在使用若依框架(前后端不分离包含shiro安全框架)时,发现作者添加了验证码、登录帐号控制等自定义过滤器,于是对自定的过滤器加载和执行流程产生疑问。下面以验证码过滤器为例,对源码解析。

曾令胜的博客 1542

工程伦理-知识点汇总

工程伦理-知识点汇总

m0_46091747的博客 1万+

一次请求资源模板中文路径400的问题处理

请求中文路径400

小不点灬的专栏 1481

区块链技术在碳足迹数据存证与溯源中的应用深度解析

消费者扫描产品上的二维码,即可通过区块链浏览器查询到该产品的数字碳标签,并追溯其从茶园到货架的每一步碳足迹数据,以及这些数据是如何被智能合约自动计算和认证的,从而建立起强大的品牌信任。如果说哈希链解决了数据的“存”与“证”的问题,那么智能合约则解决了数据“用”与“管”的自动化问题。综上所述,虽然针对“碳足迹数据可追溯性”这一特定应用场景的公开、标准化的性能基准案例尚不丰富,但现有研究和企业级解决方案(特别是联盟链)已经证明,通过合理的技术选型和架构设计,区块链的性能可以满足实际商业需求。

百态·数智思维 | 聚焦大数据、量化与未来AI 1106

2026深度破解:OpenClaw开源AI框架架构与实战全景解析

2026年初,一款名为OpenClaw的开源AI Agent框架以惊人的速度席卷全球开发者社区,短短数周GitHub星标突破20万,成为史上增长最快的开源项目。本文从架构设计、核心原理、代码实现和工程实战四个维度,深度剖析OpenClaw的技术内核,帮助开发者从理解到实践,快速掌握这一革命性的AI开发框架。

fox0329的博客 2373

Shiro安全框架

什么是Shiro? 一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。 Shiro Apache Shiro是一个java安全框架 可以非常容易开发出足够好的应用, 其不仅可以用在javaSE环境,也可以用在javaEE环境。 可以完成认证 ,授权 ,加密等功能 使用 Shiro 第一步可以 先下载它 进入官网首页点击下载 去GitHub上下载源码和查看 ...

Student111w的博客 321

四非人的保研之路,2024(2025届)四非计算机的保研经验分享(西南交通、苏大nlp、西电、北邮、山软、山计、电科、厦大等)

本身我就是福建人,xmu 3小时就能到家,然后导这边毕业要求容易,不想读博,达到要求就能放实习,每周打卡35h,比较自由,遂考虑。北邮弱com,联系了蛮多老师,几乎都给了考核机会,面试的老师好几位都考核人工智能基础,会问你卷积的计算,问的还是蛮细的。当时结果是暂定,以为是稳了,遂没联系其他老师,但是之后询问发现只是候补,懒得联系其他老师,928候补到,放弃。东北大学,2000人大机试,入营点送,全国巡回面试,每个人就面不到10分钟,我就被问了3个问题就结束了,候补。科研组,导师有人脉,想读博出成果可以去。

专注于AI领域前沿知识,业余爱好开发软件 4351

Shiro添加自己的Filter

因为前后端分离,添加了自己的过滤器,根据cookie判断传过来的uuid是否是登录的token 使用到了cache,稍后会加上源码也稍后上传 ShiroConfiguration @Bean public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) { //这里设置了自己的过滤器 S

a295277302的博客 8399

PCL 点云配准-ICP算法(精配准)

ICP(Iterative Closest Point)算法是一种常用的点云精细配准算法。它通过迭代计算将一组点云变换到另一组点云的最佳位置,最终实现精确的对齐。ICP算法在每次迭代中选择与目标点云最接近的点作为对应点,通过计算最小化源点云和目标点云之间的均方误差(MSE)来进行刚性变换(包括平移和旋转)。

纵马踏花向自由 1724

NVIDIA Isaac Sim 入门教程(二)

Omniverse Isaac Sim 的工作空间非常容易自定义。调整用户界面的大小、停靠、取消停靠、添加和移除面板都非常容易。进入顶部菜单栏,单击下拉菜单最下方的窗口 > 视口 > 视口 2(现在工作区中应该会出现一个名为 "视口 2 "的新视口。如果您想创建更多的视口,请按照相机检查器扩展进行操作。单击并拖动视口 2 的顶部标题以激活停靠部件。拖放到原始视口的右侧,将两个视口并排放置。单击并向左拖动视口 2 的左侧,使视口大小相等。

机器人控制与仿真应用 6544

spring+shiro 配置使用(完整代码篇)

web安全框架,shiro相比spring security,更轻量级,配置简单易懂,小巧灵活,功能强大,和spring完美结合,shiro上手超级简单,一看就懂,但如果需求较为复杂,仍需要细细研究其中原理,灵活配置。本人才疏学浅,本文仅涉及登录验证,动态权限验证,后面有机会再慢慢研究。引入Shiro的Maven依赖<dependency> <groupId>org.apache.shiro

shaking的博客 2352

基于STM32设计的猪舍养殖的监控系统_325

本课题基于STM32单片机,设计一款能够实时监测猪舍环境的智能监控系统。该系统能够通过温湿度、空气质量、光照强度等传感器实时监测猪舍的环境,并能够通过自动化控制设备(如风扇、照明灯、消毒喷雾等)调节环境参数,确保养殖环境的适宜性。同时,系统还支持通过ESP8266模块实现数据上传与远程控制,使养殖管理者能够通过手机APP或计算机远程监控和控制猪舍环境。

408

java实时更新权限_shiro动态刷新权限

1. 代码话不多说,直接上代码:import java.util.LinkedHashMap;import java.util.Map;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.filter.mgt.DefaultFilterChainManager;import or...

weixin_35917998的博客 807

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

shiro框架不需要重启动态更新权限资源

public void updatePermission() { try { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); ServletContex

kkusrrqw2010的专栏 2608

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

shiro动态更新权限失败

一、概述     在之前的spring集成shiro权限控制一文中,实现了动态更新的权限的方法,即对权限表做修改后,需要更新到shiro的filterchain。后来测试的时候,发现两个问题: 1、更改权限后,并没有动态更新到shiro中去,取消权限的用户仍然可以正常访问。 2、权限的写法authec,roles[admin,guest]是逻辑AND的关系,必须用户同时满足两种角色才有权限,而我...

GAMELOFT9----纸上得来终觉浅,绝知此事要躬行 1477

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

shiro的集群动态权限更新

shiro的动态权限,一般都是将权限放在数据库中,项目启动后将权限加载给shiro 当数据库的权限数据发生改变时,重新加载权限给shiro。 单机这样做没问题,但是当项目服务是集群的时候,比如有tomcat1,tomcat2,tomcat3,那么更新权限后,重新加载权限的操作只能落到一个tomcat上,比如落到tomcat1上了,那么tomcat1的权限是最新的,但tomcat2,tomcat3的...

zhangsir的博客 8182

整合SpringBoot+Shiro 实现动态权限加载更新+ Session 共享 + 单点登录

一.说明二.项目环境二.编写项目基础类三.编写Shiro核心类四.实现权限控制五.POSTMAN测试六.项目源码一.说明Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用...

xmt1139057136的专栏 643

SpringBoot 整合Shiro实现动态权限加载更新+Session共享+单点登录

点击上方“后端技术精选”,选择“置顶公众号”技术文章第一时间送达!作者:Sans_juejin.im/post/5d087d605188256de9779e64一.说明S...

Java笔记虾 1086

SpringBoot整合Shiro,权限的动态加载、更新,Shiro-Redis实现分布式Session共享,挤人功能(带后台管理界面)

本文章是介绍SpringBoot整合Apache Shiro,并实现在项目启动时从数据库中读取权限列表,在对角色进行增删改时,动态更新权限以及在分布式环境下的Session共享,Session共享使用的是shiro-redis框架,是根据真实项目写的一个Demo。网上有很多关于Shiro相关的文章,但是大多都是零零散散的,要么就只介绍上述功能中的一两个功能,要么就是缺少配置相关的内容。所以,我整理...

隔壁老王的专栏 3万+

apache shiro版本查看_SpringBoot整合Shiro实现动态权限加载更新+Session共享+单点登录

一.说明Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用户的会话管理,虽然Shiro没有SpringSecurity功能更丰富,但是它轻量,简单,在项目中通常业务需求Shiro也都能胜任.二.项目环境MyBatis-Plus版本: 3.1.0SpringBoot版本:2.1.5JDK版本:1.8Shiro版本:1.4Shiro-redis插件版本:3.1.0数据表(SQL文件在项...

weixin_39955142的博客 398

SpringBoot 整合 Shiro 实现动态权限加载更新 + Session共享 + 单点登录

一、说明: Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用户的会话管理,虽然Shiro没有SpringSecurity功能更丰富,但是它轻量,简单,在项目中通常业务需求Shiro也都能胜任. 二、项目环境: MyBatis-Plus版本: 3.1.0 SpringBoot版本:2.1.5 JDK版本:1.8 Shiro版本:1.4 Shiro-redis插件...

weixin_42396189的博客 345

SpringBoot整合Shiro实现动态权限加载更新+共享+单点登录

SpringBoot整合Shiro实现动态权限加载更新+共享+单点登录

qq_41490913的博客 305
上一篇: shiro动态更新权限
下一篇: eclipse maven nexus构件发布
eggtk
博客等级 码龄16年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值