使用idea 开发java 项目,使用 @RequiresPermissions(““) 注解为接口设置相应的权限后,重新访问调用该接口的页面,前端页面请求页面中相关的接口时,出现报错信息,前

项目场景:

相关背景:

使用idea 开发java 项目,使用 @RequiresPermissions(“”) 注解为接口设置相应的权限后,重新访问调用该接口的页面,前端页面请求页面中相关的接口时,出现报错信息,前端请求失败。


问题描述

问题:

使用 @RequiresPermissions(“”) 注解为接口设置相应的权限后,重新访问调用该接口的页面,出现以下报错信息:

This subject is anonymous - it does not have any identifying principals and authorization operations require an identity to check against. A Subject instance will acquire these identifying principals automatically after a successful login is performed be executing org.apache.shiro.subject.Subject.login(AuthenticationToken) or when 'Remember Me' functionality is enabled by the SecurityManager. This exception can also occur when a previously logged-in Subject has logged out which makes it anonymous again. Because an identity is currently not known due to any of these conditions, authorization is denied.: http://localhost:8090/operating/list

原因分析及解决方法:

分析:

这个问题可能是由于权限设置不正确导致的。
请确保在 @RequiresPermissions 注解中设置了正确的权限字符串,以确保用户有权访问该接口。
此外,还要确保用户已经登录,并且正确地通过身份验证。
如果问题仍然存在,可能需要检查项目的配置和安全设置,以确保正确处理用户身份和权限。

检查 java 项目中 Shiro配置 中的设置:
public class ShiroConfig {
Map<String, String> filterMap = new LinkedHashMap<>();
filterMap.put(“/option/list”,“anon”);
}

确认是否正确通过身份验证


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值