美文网首页
权限增加缓存设计

权限增加缓存设计

作者: 有梦想的虫子_2018 | 来源:发表于2022-03-26 21:38 被阅读0次

RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。
这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

1、权限核心-用户角色资源

权限核心.png

菜单采用树形结构展示给前端

角色与用户多对多

角色与菜单(资源)多对多

菜单、接口、页面等资源进行平台的划分,角色进行系统的划分

2、获取资源流程

2.1从数据库中获取菜单

以往都是用户登录完成后,通过权限中心提供一个获取菜单树的接口,直接从数据库中获取。

数据库中获取数据.png

2.2从缓存中获取资源

权限不足403, 具体的返回码需要与前端约定

缓存中获取数据.png

3、缓存

角色对应的资源缓存

类型 redis数据结构 key value
菜单 string systemId:roleId:menu:platformId 菜单列表
接口 set systemId:roleId:api:platformId 路径 /api/user/info
页面 set systemId:roleId:page:platformId 页面

用户对应的资源缓存

类型 redis数据结构 key value
菜单 string menu:token 菜单树
接口 set api:token 路径 /api/user/info
页面 set page:token 页面

4、添加资源

增加资源后,为角色分配资源时,保存数据库后,需要更新角色在redis中对应的缓存


添加资源.png

5、切换商户

切换商户,更新对应token的资源缓存,token的资源缓存,根据role的资源缓存生成。

切换商户.png

6、接口获取

根据swagger,获取所有的接口,进行进口权限的分配


分配接口权限.png

相关文章

  • 权限增加缓存设计

    RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与...

  • 缓存知识

    权限系统是管理类系统中必不可少的一个模块,一个好的缓存设计更是权限系统的重中之重,今天来聊下如何更好设计权限系统的...

  • 权限设计

    参考renren相关文章并对pano权限设计进行总结。 每版的功能调整、页面增加,都要考虑到权限。

  • 进程内缓存助你提高并发能力!

    前言 缓存,设计的初衷是为了减少繁重的IO操作,增加系统并发能力。不管是 CPU多级缓存,page cache,还...

  • linux6~看权限和chmod

    2017.02.08 增加写权限chmod +w xxx 增加执行权限chmod +x 取消执行权限chmod -...

  • page cache页面缓存

    为什么设计缓存? 如何设计缓存? 页面缓存都缓存什么?

  • 缓存设计

    目录 缓存设计需要考虑的地方 项目代码编写 mybaits缓存设计原理 guava缓存设计原理 本地缓存设计需要考...

  • pip install 报错问题常用解决办法

    常见原因 权限问题 缓存问题 权限问题 缓存问题 幸运的话,通常就可以了,否则就...嘿.嘿..嘿...友情链接:...

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • gmkt-portal-web部署注意事项

    1. 权限缓存申请 GmktPortalWebUserAuthority GmktPortalWebSession...

网友评论

      本文标题:权限增加缓存设计

      本文链接:https://www.haomeiwen.com/subject/wcosjrtx.html