shiro 动态修改资源权限不需要重启项目或者重新登录用户

2023-11-01

用shiro做权限控制的时候,变更用户或者角色的权限后刷新界面不会重新加载权限,需要重启tomcat或者用户重新登录,特别的不人性化,通过下面的方式可以解决这个问题,但仅仅针对于单机,对集群来说就不太清楚,以后有了更好的方法再去使用(菜鸟级别,还需要学习很多):

代码使用:

工具类中:

	/**
	 * 
	* @Title: clearAuth 
	* @Description: TODO 清空所有资源权限  
	* @return void    返回类型
	 */
	public static void clearAuth(){
		RealmSecurityManager rsm = (RealmSecurityManager)SecurityUtils.getSecurityManager();
		ShiroDbRealm realm = (ShiroDbRealm)rsm.getRealms().iterator().next();
		realm.clearAuthz();
	}


自定义AuthorizingRealm中:

public void clearAuthz(){
		this.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
	}

在进行权限修改完成之后,进行去权限的清空

效果:

授权改变前



授权改变刷新后:


当你把权限清空之后,刷新界面,shiro会自动重新加载自定义realm中的doGetAuthorizationInfo()方法进行角色和权限的验证,这样可以达到预期的结果了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shiro 动态修改资源权限不需要重启项目或者重新登录用户 的相关文章

  • Shiro实战学习笔记(4)- 整合springboot(1)

    1 shiro整合spring boot gt
  • SpringBoot整合shiro-spring-boot-web-starter启动报错

    最近在做一个SpringBoot整合常用框架的系统 在整合Shiro时启动就报错 现将解决办法总结如下 SpringBoot使用的是最新的2 3 4版本 Shiro使用的是shiro spring boot web starter1 6 0
  • Shiro权限框架-Realm缓存机制(6)

    1 Realm缓存机制意义 在上面我们自定了自己的realm 但是我们发现 在认证和授权的时候 程序需要频繁的访问数据库 这样对于数据库的压力可想而知 那我们怎么处理呢 2 Realm缓存机制实现思路 1 缓存机制图解 2 原理分析 此时我
  • shiro框架---通过系统介绍shiro框架中的实现逻辑

    接上一篇文章关于shiro框架的简单介绍及用户表的建立维护 项目已分享到GitHub上 如果需要的可以看下 springboot shiro项目Git下载地址 本篇主要通过一个已经实现用户登录和权限验证的系统 结合sql 展示一下我的实现
  • SpringBoot 整合 Shiro 常见配置

    目录 一 Shiro 基础解释 过滤器 AOP 实现安全认证权限管理逻辑 了解 Shiro 的组织架构 二 SpringBoot 整合 Shiro 1 在项目中使用 Shiro 需要配置的地方 2 代码示例 引入依赖 请求接口 自定义 Re
  • shiro SecurityManager简介说明

    转自 shiro SecurityManager简介说明 下文笔者讲述Shiro SecurityManager的相关简介说明 如下所示 SecurityManager是Shiro框架的核心 典型的Facade模式 Shiro通过Secur
  • Jeesite开发平台限制用户多点登录

    Jeesite开发平台限制用户多点登录 授权查询回调函数 进行鉴权但缓存中无用户的授权信息时调用 Override protected AuthorizationInfo doGetAuthorizationInfo PrincipalCo
  • 自定义实现OAuth2.0 授权码模式

    文章目录 OAuth2 0 授权码模式 实践 依赖知识 术语 授权码流程 认证服务器 拉起请求用户授权页面 用户手动授权 提交授权 生成code 下发Token 第三方应用 收到code并请求Token 访问受保护的资源 项目结构 Tomc
  • springboot整合shiro-登录失败次数限制(八)

    原文地址 转载请注明出处 https blog csdn net qq 34021712 article details 80461177 王赛超 这次讲讲如何限制用户登录尝试次数 防止坏人多次尝试 恶意暴力破解密码的情况出现 要限制用户登
  • Shiro 如何对Jsp页面标签授权呢?

    转自 Shiro 如何对Jsp页面标签授权呢 下文笔者讲述jsp页面标签授权的方法分享 如下所示 shiro中使用Jsp页面标签授权首先需要导入标签库 常见的Shiro标签
  • shiro框架---关于用户登录退出接口的介绍

    接上一篇文章shiro框架 shiro配置用户名和密码的注意 项目已分享到GitHub上 如果需要的可以看下 springboot shiro项目Git下载地址 在我前几篇文章里有shiro配置的文件下载包 下载后里边有四个配置文件Shir
  • 【shiro】shiro反序列化漏洞综合利用工具v2.2(下载、安装、使用)

    目录 1 工具下载 2 依赖环境安装 3 使用 1 工具下载 shiro反序列化漏洞综合利用工具v2 2下载 链接 https pan baidu com s 1kvQEMrMP PZ4K1eGwAP0 Q pwd zbgp 提取码 zbg
  • 将 Shiro 的 PasswordMatcher 与自定义领域结合使用

    我使用 Apache Shiro 和自定义 JDBC 领域来从数据库中检索用户的盐 密码 哈希算法名称和哈希迭代次数 这些数据都存储为单独的列 问题是我不确定在使用 PasswordMatcher 验证用户密码与数据库中存储的密码是否匹配时
  • 将 Apache Shiro 安全库与基于 Dropwizard 的 JAX-RS 应用程序集成

    我正在尝试改变 Dropwizard 以支持 Shiro 我已阅读文档并且有点困惑 我想将 Shiro 与表单登录身份验证和 Apache Shiro 注释结合使用 我认为我需要使用 Jersey Filters 来支持 Shiro 这是在
  • 带有 jdbc 和哈希密码的 shiro

    这是我的 shiro 配置 main authc loginUrl site index jsp authc usernameParam user authc passwordParam pass authc rememberMeParam
  • Java – 高效、数据库感知的实例级授权?

    在 JPA 应用程序中 我有一个场景 其中该应用程序是 列出给定用户有权提款的所有帐户 我有帐户实体和一个多对多表 其中列出了每个用户对每个帐户拥有的授权 为了实现上述场景 应用程序当前只是内部联接两个表 这非常快 现在 我计划添加一个显式
  • 使用 Shiro 登录后重定向到最后访问的页面

    使用 apache shiro 登录并重定向到最后访问的页面的更好方法是什么 我只有这个 SecurityUtils getSubject login new UsernamePasswordToken username password
  • Shiro/Stormpath 通过 REST

    我是新来的士郎 我们正在尝试将 Shiro 与 Stormpath 一起使用 我一直在尝试剖析这些例子 以找出我想做的解决方案 但到目前为止我还没有成功 目前 我只是尝试创建 REST 服务来执行我想要的操作 稍后我将绑定一个真正的客户端
  • Jetty maven插件无法热重新部署shiro过滤器

    我不确定这是jetty的问题还是shiro的问题 但我正在尝试使用Jetty Maven插件进行开发 我想要的关键功能之一是Jetty在文件更改时的热重新部署 然而 当 jetty 尝试重新加载应用程序时 Shiro 抛出以下异常 我不确定
  • 如何在生产中安全地更改会话 cookie 域或名称?

    我们最近意识到我们的会话 cookie 正在被写入我们网站的完全限定域名 www myapp com 例如 MYAPPCOOKIE 79D5DB83 domain www myapp com 我们希望将其切换为可以跨子域共享的cookie

随机推荐

  • 一百零八、Kettle采集Kafka数据到HDFS(踩坑,亲测有效)

    Kafka到HDFS 除了用Kafka API和flume之外 还可以用kettle 最大优点是不用写代码 版本 Kettle版本 8 2 Hadoop版本 3 1 3 前提 详情请看鄙人的一百零一 Kettle8 2 0连接Hive3 1
  • Python实现支持人机对战的五子棋软件(超详细)

    完整工程下载链接 文章目录 利用pygame实现一个支持双人对战以及人机对战的小游戏 最终效果展示 总体框架介绍 具体功能以及算法思想 一 主界面与棋盘设计 二 移位与胜负判定 三 棋型价值设计 四 人机模式和双人模式的设计 五 游戏状态
  • 使用PHPExcel实现Excel文件的导入和导出

    在之前有写过一篇文章讲述了使用 PHP快速生成excel表格文件并下载 这种方式生成Excel文件 生成速度很快 但是有缺点是 1 单纯的生成Excel文件 生成的文件没有样式 单元格属性 填充色 宽度 高度 边框颜色 不能自定义 2 生成
  • java.lang.unsatisfiedlinkerror解决方法

    有时候我们接入第三方sdk的时候 同时导入了一些so库 编译运行后发生会报以下异常 java lang unsatisfiedlinkerror 解决方法 在主工程app的build gradle中加入以下代码 作用是指定so库的位置 an
  • python自动拷贝日志

    usr bin env python import os import time import re import os from time import sleep cmd3 adb pull resources map BaiduMap
  • MacBook配置Chromedriver

    最近换了mbp 之前的项目中包含了Chromedriver 但是我不想设置path了 所以重新配置了下Chromedriver 先看自己浏览器版本 去下载对应版本的Chromedriver ChromeDriver WebDriver fo
  • php怎么接收用户字符,PHP把用户的提交cookie转成字符串

    小编这次带来的是这种cookie类型的获取方式哦 当你想获取cookie字符串时 gt 偷懒 gt 搜索引擎查询好久 gt 没找到 gt 哎 gt 无奈只能自己写啦 gt 原理 用户访问 带cookie gt 获取cookie数组 gt 获
  • 解决flink消费kafka过期数据和目前存量数据的计算(未来的方向)

    背景 目前公司业务需要统计超过7天以上的特征统计 但是kafka只存7天的数据 如果只想通过flink sql去计算30天的用户特征要求当天生效 这是完不成的 但是看到下面的分享 感觉未来的方向有了 一 2021 Apache Flink
  • mysql同时执行多条语句_让MySQL同时执行多条SQL语句的解决办法

    版权声明 本文为博主原创文章 未经博主允许不得转载 最近做一个MySQL方面的东西发现了这个问题 就是在一个Statement中执行一条SQL语句的时候可以正确执行 如果同时执行多条 就会报SQL语法错误 伤透了脑筋 经过网上查找 发现有两
  • 纯电阻电路中的等效变换

    目录 1 电阻的串并联等效 1 串联 2 并联 2 Y形联结和 形联结的等效变换 1 Y gt 2 gt Y 3 实际电源的两种模型及其等效变换 1 实际电压源模型 2 实际电流源模型 3 两种模型间的等效变换 4 受控源的等效 等效的核心
  • 虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统

    偶看现在使用的电脑是 惠普 康柏 Elite 8300 MT Mini Tower 操作系统 Windows 7 旗舰版 64位 基本硬件展示 处理器 英特尔 第三代酷睿 i5 3470 3 20GHz 四核 主板 惠普 3397 内存 8
  • Java基础(03)——Java语法结构(顺序与选择结构)

    Java中的语法结构 版权声明 Java中的语法结构 1 顺序结构 2 选择结构 1 简单的if语句 2 if else 语句 3 多分支if语句 4 switch case语句 版权声明 本文原创作者 清风不渡 博客地址 https bl
  • 免费好用的虚拟服务器,六大免费好用的虚拟主机管理系统

    虚拟主机的出现 是适应了现在互联网发展的需要才出现的 现在的市场中 中小型企业占据多数 而中小型企业又不能花费大量资金用来租用服务器建设网站 所以出现了功能完整价格低廉的虚拟主机 虚拟主机是通过专用的软件程序把一台服务器分割成为多个不同的虚
  • nginx文件服务器文件日期,nginx文件目录服务器

    用nginx配置一个文件服务器 并解决中文乱码问题 配置文件 server listen 80 server name downloadapp 3vyd com location add header Access Control Allo
  • 查看Python安装路径几种方法

    查看Python安装路径方法 在使用python的时候 有时候会需要找到python包的安装位置 怎么办 对于Windows平台 打开cmd 使用命令py 0p 其中0是零 显示已安装的 python 版本且带路径的列表 参见下图 其中带星
  • 记录一下项目中遇到的有关websocket延迟的问题

    想想就觉得好笑 事情呢是这个样子的 我们项目采用的事Spring websocket stomp 实现的导检功能的项目 需要很多设备和服务器进行交互 项目在公司和其他环境部署运行都没有任何问题 也就是说从来没遇到过websocket延迟的问
  • Laravel5 (cli)命令行执行脚本及定时任务

    本文转自 http www cnblogs com chunguang p 5660074 html Artisan是Laravel自带的命令行接口名称 它提供了很多有用的命令想要查看所有可用的Artisan命令 可使用list命令查看 1
  • Vi介绍及常用命令

    简要介绍 由加州大学伯克利分校 Bill Joy 研究开发 文本 编辑器有很多 比如图形模式的gedit kwrite OpenOffice 文本模式下的 编辑器有vi vim vi的增强版本 vi和vim是我们在Linux中最常用的 编辑
  • 【C++】queue,stack和priority_queue 三种容器适配器

    什么是适配器 适配器是一种设计模式 设计模式是一套被反复使用的 多数人知晓的 经过分类编目的 代码设计经验的总结 该中模式是将一个类的接口转换成客户希望的另外一个接口 故适配器就是接口转换装置 让我们能通过特定的方法去操作原本自己不能直接操
  • shiro 动态修改资源权限不需要重启项目或者重新登录用户

    用shiro做权限控制的时候 变更用户或者角色的权限后刷新界面不会重新加载权限 需要重启tomcat或者用户重新登录 特别的不人性化 通过下面的方式可以解决这个问题 但仅仅针对于单机 对集群来说就不太清楚 以后有了更好的方法再去使用 菜鸟级