在写用户类接口的时候、有两个接口需要到管理员身份:
获取用户信息的接口() 、删除用户信息的接口()
都有被定义了 @PreAuthorize("@permission.admin()") 如图:

然后跑起项目、获取图灵验证码、登录账号、走这两接口的测试
首先是以管理员身份测试:如下图
删除成功(管理员身份)

获取用户信息成功(管理员身份)

管理员身份测试成功、没有出现问题!
接着测试普通用户来试试:
非管理员身份获取用户列表 : 权限不足 (没有问题、符合逻辑)

在这里出现问题了 如下图:

普通用户身份来删除用户信息的时候不管 UserId 是错误还是正确
Delete 请求都没有任何的返回信息
显示的是 405 METHOD_NOT_ALLIWED
老师写的对于错误信息的处理好像只有四个: 403 404 504 505
这个405没有被定义到
我就自己去定义了一下405




然后重新跑项目了、重新试了一下
以普通用户身份调用删除用户接口 还是为空 不应该是显示用户权限不足吗
怎么会是空的呢 同样是在普通用户的情况下 获取用户列表信息怎么就不会为空 而且正常的显示了 “权限不足”

怎么个情况呀 不敢随便乱改、管理员身份调用的时候正常、也是用的同一个判断类
因为判断是否为管理员身份的类中
只对GetMapping的判断 :如 GetMapping /403 /404 /504 /505
所以如果请求的是Put、Post 或者是、Delete的请求就处理不了啊
没对 Put、Post、Delete 进行处理
就如文章提出的问题 可以看出以普通用户身份去请求一些需要管理员身份的接口时候
有出现 权限不足的这一个返回数据 那个返回数据因为是GetMapping请求
有被定义所以有返回数据、 而Delete 就没有吧 问题就被找了
以管理员身份来请求的话 就不会走上面的步骤 会直接出数据
所以我们就去判断管理员的类写Post Put Delete 的处理 如下: 解决问题
以你现有的知识解决这个问题。
你是不是要定位问题出在哪里 呀?
是不是要判断有没有走到405的controller呀,你的contrller有没有写错,是不是@RestController,log不打一个呢?
如果没有走到,你会不会思考,是否有配置成功呀?
衔定位到问题出在哪里。