后端返回code都是401,后端如何对未登录和未授权区分?

Blade 未结 2 794
15860146
15860146 剑圣 2021-07-21 12:30

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

1. 

2. 

3.


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


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


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


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

2条回答
  • 2021-07-21 13:26

    其实可以用请求头Blade-Auth的值来判断,如果没有就是未登录。

    如果有Blade-Auth并且AuthUtil.getUser为空,则说明过期。

    如果是从PreAuth注解走的逻辑,则是未授权。

    但正式系统是只能返回一个统一的结果的,不能返回的如此精确,否则想爆破的人会根据提示一步一步找到切入点,这样就带来风险了。

    总结一下:想知道详细状态的,可以从后端判断。前端推荐只返回统一的

    0 讨论(0)
  • 再请教一下:如果前端需要区分开未登录和未授权,请问如何修改呢?

    0 讨论(0)
提交回复