关于Spring securuty 403问题

项目场景:

个人云盘项目 spring + mybatis + mysql + springsecurity 不知不觉间 已经学了这么多东西了(心酸谁知。。。泪目

问题描述:

在使用spring security进行调试的时候 报403forbidden
这两个bug花了我一天的时间。。。

原因分析:

  1. csrf打开 导致调试代码的时候POST 会被拦截
  2. 如果GET POST 都被拦截 那就说明是其他原因

解决方案:

问题1:再config中关闭csrf

.and()
.csrf()
.disable()

问题2:
在数据库中的role 表中 如果用 admin,user之类小写的 需要转换为ROLE_admin,ROLE_user
或者用大写 (据说没报错

设置的角色名会自动加上 ‘ ROLE_ ’ 前缀。
所以在数据库中将角色名设置为带 ‘ ROLE_ ’ 前缀的值便能成功访问限制的地址

猜你喜欢

转载自blog.csdn.net/qq_53755216/article/details/114295126