给用户配置过多角色(30个以上),导致所有请求报400错误无响应

Blade 未结 1 905
274111216
274111216 剑圣 2020-10-27 15:37

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

1. 登录admin,给一个用户(user01)配置超过36个角色后

2. 登录user01后,所有的请求都报400错误,控制台打开查看response都是空的


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

期待结果:所有请求能够正常返回

实际看到:所有请求都报400错误


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

使用Chrome浏览器,在windows操作系统上


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

image.pngimage.png

image.pngimage.png

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

经过测试怀疑可能是因为请求头携带的cokkie过长(超过4k)/或者是token过长导致浏览器直接将拦截请求,但百度了好像并没有什么解决方案。不知道可不可以通过后端修改token的加密方式,限制其生成的长度来解决,但是目前看不懂框架这块的源码。希望有遇到过同样问题,或者有兴趣的小伙伴能够提供解决方案,非常感谢

1条回答
  • 2020-10-28 14:48

    我没有见过一个用户有30多个角色的情况,推荐你们最好改一改系统设计。

    如果一定要给一个用户配置这么多角色,那只能把角色相关字段从token剔除,后端获取角色的时候,从token获取userId,再通过userId二次查询得出roleId

    0 讨论(0)
提交回复