springboot security安全管理报错403

错误示例:

原因分析:

核心就是“权限不允许”造成的为题,但奇葩的是:

可以看到我已经给admin赋全部路径的权限了:

也设置了对应的admin用户:

登录之后仍然还是403error!

解决方法(核心错误的原因是权限分配顺序出错):

在Spring Security中,授权规则是按照声明的顺序进行匹配的。一旦找到第一个匹配的规则,就不会继续检查后面的规则。因此,规则的顺序非常重要。

"/**" 匹配所有路径,这个规则会匹配几乎所有请求,包括 /pages1/**/pages2/**,并且它需要用户具有 admin 角色。然而,在匹配到 "/**" 之前,/pages1/**/pages2/** 已经被 hasRole("left_author")hasRole("right_author") 捕获,所以即使用户是 admin 角色,当访问 /pages1/**/pages2/** 时,也会匹配到更前面的规则,从而导致403错误。

解决方法1:

admin 规则放在最前面,确保 admin 用户的权限优先匹配:

解决方法2:

将hasRole换成hasAnyRole,并且内容添加上admin:

效果:

此后,访问成功!

希望能帮助到大家!

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,403 Forbidden错误通常是由于权限不足引起的。可能是由于您没有正确配置Spring Security以允许更新操作。您可以检查以下几个方面: 1. 检查您的Spring Security配置文件,确保您已经正确地配置了更新操作的权限。 2. 检查您的Vue.js代码,确保您已经正确地设置了请求头和请求体。 3. 检查您的后端代码,确保您已经正确地处理了更新请求。 以下是一些可能有用的解决方案: 1. 检查您的Spring Security配置文件,确保您已经正确地配置了更新操作的权限。您可以使用以下代码片段来配置Spring Security以允许更新操作: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(HttpMethod.PUT, "/your/update/endpoint").hasRole("ADMIN") .anyRequest().authenticated() .and() .httpBasic(); } ``` 2. 检查您的Vue.js代码,确保您已经正确地设置了请求头和请求体。您可以使用以下代码片段来设置请求头和请求体: ```javascript axios.put('/your/update/endpoint', { data: yourData }, { headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + token } }) .then(response => { console.log(response); }) .catch(error => { console.log(error); }); ``` 3. 检查您的后端代码,确保您已经正确地处理了更新请求。您可以使用以下代码片段来处理更新请求: ```java @RestController @RequestMapping("/your") public class YourController { @PutMapping("/update/endpoint") public ResponseEntity<?> update(@RequestBody YourData data) { // 处理更新请求 return ResponseEntity.ok().build(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还不秃顶的计科生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值