环境迁移以后,用户管理菜单,出现未授权问题

Blade 未结 2 1362
13771136253
13771136253 剑童 2020-05-15 12:43

一、该问题的重现步骤是什么?

1. 登录点击用户管理

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?

image.png

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

1,2019年10月

2,2.0.7.RELEASE

3,win2008

四、请提供详细的错误堆栈信息,这很重要。

2020-05-15 12:25:38.575  INFO 5448 --- [nio-9981-exec-9] o.s.core.log.aspect.RequestLogAspect     : 


================  Response Start  ================

<=== GET: /materialType/list (13 ms)

================  Response End   ================


2020-05-15 12:25:38.579 ERROR 5448 --- [nio-9981-exec-9] o.s.c.l.e.BladeRestExceptionTranslator   : 认证异常


org.springblade.core.secure.exception.SecureException: 请求未授权

五、若有更多详细信息,请在下面提供。

2条回答
  • 这些接口使用了@PreAuth注解规定必须是超管(角色的别名为administrator)才可以访问,如果你们需要普通角色也可以访问,为了避免与你们业务上操作冲突,推荐全局把@PreAuth替换为//@PreAuth,注释掉就没问题了

    image.pngimage.png

    0 讨论(0)
  • 2020-05-15 12:56

    为什么 迁移前的 是可以访问的? 迁移以后就不能访问?同样的 代码没有任何部分改变  而且不是所有的都没有权限

    作者追问:2020-05-15 13:06

    你这么问我,我还真不知道,因为你提供的信息太少了。我不知道你迁移前是什么样子的迁移后是什么样子的,你只说了结果,没说重现步骤,实在没法帮你排查原因。

    我给你说个最简单排查流程:

     1. 迁移前后的数据库都开放访问,查看对应的角色是否是administrator,本地启动服务分别连接对应数据库

     2. 清空redis缓存

     3. 后端代码打断点,重点看传过来的token,然后跟断点排查

     4. PreAuth注解逻辑和流程如下截图

    image.pngimage.png

    0 讨论(0)
提交回复