关于SpringSecurity出现Failed to evaluate expression ‘ps.hasAuthority(‘role‘)‘

1. 问题描述

在使用SpringSecurity对接口进行权限校验时,报错java.lang.IllegalArgumentException: Failed to evaluate expression 'ps.hasAuthority('role')'

2. 解决方案

2.1 查看是否添加注解

对于SpringSecurity对配置类,我们需要添加注解@EnableGlobalMethodSecurity(prePostEnabled = true)

@EnableGlobalMethodSecurity(prePostEnabled = true)
@Configuration	
public class AdminSecurityConfig extends WebSecurityConfigurerAdapter {//...
}

2.2 校验接口实现类的名称

  • 对于直接使用@Service注解标识的接口实现类,其注入Spring容器后,对应bean名称的首字母会变为小写。例如注入的实现类为PermissionServiceImpl,其bean名称为permissionServiceImpl
  • 对于使用@Service(value = "xxx"),其对应bean的名称就为xxx,直接使用即可。

2.3 校验是否添加@符号进行标识。

对应接口上添加了@PreAuthorize注解后,参数正确格式为@beanName.methodName(roleName)。例如:

@PreAuthorize("@permissionServiceImpl.hasPermission('role')")

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

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

相关文章

五 超级数据查看器 讲解稿 列表功能2

五 超级数据查看器 讲解稿 列表功能2 点击此处 以新页面 打开B站 播放教学视频 点此下载 百度手机助手 下载地址4 讲解稿全文: 大家好,今天我们讲解一下,超级数据查看器列表界面,分为1-2两集。这是第二集 继续讲解弹出式菜单…

Linux环境(Ubuntu)上的防火墙工具使用方法

目录 概述 1 防火墙工具(ufw) 1.1 安装防火墙工具: 1.2 操作防火墙相关命令 2 ufw操作命令的范例 2.1 打开/关闭防火墙 2.1.1 打开防火墙 2.1.2 关闭防火墙 2.1.3 查询当前防火墙状态 2.1.4 允许选择的端口访问 2.1.5 允许选择固定…

【数据结构】线性表的定义及基本操作

文章目录 前言线性表的定义线性表的基本操作基本操作其他常用操作 总结 前言 数据结构的三要素是逻辑结构、数据的运算、存储结构(物理结构),存储结构不同,运算的实现方式也不同。 本次文章包括线性表的定义和基本操作&#xff0…

java零基础入门-map(上)

一、教学目标 掌握何为map能够说出map集合的特点。能够使用map集合添加元素、删除元素等伴生方法。 二、正文 1、概述 说起map,想必大家并不陌生吧。之前我在讲Collection集合的时候,我是给大家提过一嘴,我说Collection集合被称为单列集合…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的人群密度检测系统(深度学习模型+UI界面+训练数据集)

摘要:开发人群密度检测系统对于公共安全等领域具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个人群密度检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5,展示了不同模型…

07-java基础-锁之AQSReentrantLockBlockingQueueCountDownLatchSemapho

文章目录 0:AQS简介-常见面试题AQS具备特性state表示资源的可用状态AQS定义两种资源共享方式AQS定义两种队列自定义同步器实现时主要实现以下几种方法:同步等待队列条件等待队列 1:AQS应用之ReentrantLockReentrantLock如何实现synchronized不…

uniapp相关内容

一、设置uni原生事件类型 示例&#xff1a;获取手机号事件类型为 UniHelper.ButtonOnGetphonenumber 格式为&#xff1a;UniHelper.组件名事件名 const getphonenumber: UniHelper.ButtonOnGetphonenumber (detail) > {console.log(detail) } <button class"…

【小程序】API能力集成指南——子设备API汇总(一)

ty.device.getSubDeviceInfoList 获取子设备信息 需引入DeviceKit&#xff0c;且在>1.2.6版本才可使用 参数 Object object 属性类型默认值必填说明meshIdstring是网关设备 id 或上级节点 idcompletefunction否接口调用结束的回调函数&#xff08;调用成功、失败都会执行…

[linux] pip install -e . 和 pip install -e “.[train]“分别是什么意思

pip install -e . 和 pip install -e ".[train]" 都是 Python 包管理工具 pip 的安装命令&#xff0c;它们用于安装一个以“可编辑”模式的本地项目。这里的“可编辑”模式意味着项目被安装到当前环境中&#xff0c;但是它链接到你实际代码所在的位置&#xff0c;这样…

oracle临时表空间不释放

项目报错 nested exception is java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP 原因是临时表空间满了&#xff0c;临时表空间一直增长&#xff0c;未释放导致临时表空间使用率100%。 查询临时表空间使用率 --临时表空间利用率…

拓扑排序 很简单

原文链接&#xff1a;图论第四讲&#xff1a;拓扑排序 说明&#xff1a;CSDN和公众号文章同步发布&#xff0c;需要第一时间收到最新内容&#xff0c;请关注公众号【比特正传】。 之前的图论合集文章中讲了图的存储遍历、最短路等算法&#xff0c;文章链接如下 图论第一讲&am…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑碳捕集机组与氢储能系统协调运行的源荷储低碳经济调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Redis监控命令和指标介绍

Redis监控的重要性 Redis监控的重要性体现在以下几个核心方面&#xff1a; 性能瓶颈发现与优化&#xff1a; 监控Redis的响应时间、QPS&#xff08;每秒查询率&#xff09;、吞吐量等性能指标&#xff0c;可以及时识别出系统在处理请求时是否存在性能瓶颈&#xff0c;比如某…

AI新工具(20240312) Midjourney官方发布角色一致性功能;免费且开源的简历制作工具;精确克隆语调、控制声音风格

1: Midjourney角色一致性功能 使人物画像在多方面高度一致成为可能。 Midjourney的角色一致性功能的使用方法如下&#xff1a; ⭐在你的输入指令后面加上 --cref URL&#xff0c;其中URL是你选择的角色图像的链接。 ⭐你可以通过 --cw 参数来调整参照的强度&#xff0c;范围…

力扣- 704. 二分查找

二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释…

python如何读取文件

这里的文件是txt文件&#xff0c;office文件不支持。 假如有一个pi_digits的txt文件&#xff0c;里面的内容是“3.1415926” 如果要读取这个文件的内容&#xff0c;需要调取pathlib模块&#xff0c;并把路径告知python。同时python文件必须要和目标读取文件在一个文件夹里。 …

springboot集成Quartz定时任务组件

文章目录 前言一、Quartz 是什么&#xff1f;下面是对 Java 中 Quartz 的主要概念的简单描述&#xff1a; 二、使用步骤总结 前言 平时开发中相信大家都经常用到定时任务吧&#xff0c;最近简单的就是直接使用Scheduled注解标注到方法上用注解的方式在项目运行时无法去对任务进…

【WEEK2】Learning Objectives and Summaries【SpringMVC】【English Version】

Learning Objectives: Getting Started with SpringMVC in Three Weeks - Week 2 Learning Content: Reference video tutorials【狂神说Java】SpringMVC最新教程IDEA版通俗易懂Using annotations to complete the MVC programControllerRestFul styleResult Jumping StyleDa…

剑指offer经典题目整理(四)

一、树的子结构 1.链接 树的子结构_牛客题霸_牛客网 (nowcoder.com) 2.描述 给两颗二叉树A B&#xff0c;判断B是不是A的子结构 3.思路 将问题拆解开来&#xff0c;首先是找到a树中子结构的位置&#xff0c;然后是判断是否相同&#xff0c;也就是说&#xff0c;我们需要去…

interFoam-UEqn.H/pEqn.H

压力方程 “pEqn.H” {volScalarField rAU("rAU", 1.0/UEqn.A()); // rAU:在速度方程的的最后一个解中&#xff0c;矩阵对角项系数的倒数surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU)); //转换为表面标量场volVectorField HbyA(con…