老师请问一下如果换成JWT之后RBAC hasPremission获取到的principal是一个字符串要怎么解决?
来源:7-4 基于数据库Rbac数据模型控制权限

jiiiiiin
2019-04-22
如上图所示,如果是使用jwt来做认证;
在RBAC对应表达式判断方法中获取到的principal就是一个字符串(用户名),如果是非JWTtoken,而是普通的存储在redis中的默认token是正常的,那这种情况,我是不是还要去数据库查一遍,初始化我的UserDetails对象,如果是这样的话成本太高;
因为我看了 目前authentication对象里面只有标准的角色信息;
~~
这种情况要怎么解决呢 老师?
写回答
1回答
-
把用户的权限信息以用户名为key存在缓存里,然后直接从缓存拿到权限信息做判断。
122019-05-06
Spring Security技术栈开发企业级认证与授权
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
2662 学习 · 1561 问题
相似问题