一、目的
管理系统用户的功能菜单权限,物理资源(文件、数据)权限。
二、RBAC模型设计RBAC简介
BAC模型(Role-Based Access Control:基于角色的访问控制)模型是一种权限实现模型,是系统权限设计中的一套方法论。
RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为Who、What、How的问题游戏图片,Who、What、How构成了访问权限三元组。
RBAC模型的核心对象为:用户、角色、权限
资源管理简介
系统资源可分为逻辑资源和物理资源。逻辑资源如软件系统的菜单、页面、按钮等等;物理资源如视频文件、音频文件、pdf文件等等。
其中逻辑资源可以通过权限来控制,物理资源可通过在角色下设置资源列表,通过角色关联资源列表实现权限管理设计角色,也可直接将用户和资源列表关联实现。
权限管理模型设计
所有的权限管理最终都要落到用户身上。
功能权限E-R设计资源权限E-R设计业务弱关联性设计
建立如下资源和业务实体的映射关系:
优点:资源和业务实体为弱关联性,可封装成微服务组件对外赋能
缺点:关系模式更加复杂程序开发,开发、运维成本高
业务强关联性设计
基于组织架构、职权(角色)、业务归属、区域、坐标等的业务实体建立如下映射关系:
优点:方便和业务集成、迁移顺滑
缺点:和业务强绑定
三、缓存设计
可能出现的问题:
1:用户权限信息庞大,往redis中存储大数据块
2:用户权限信息庞大权限管理设计角色,Mysql数据库查询效率低
四、认证服务设计
认证服务负责用户登录状态的维护,对请求方签发令牌;管理权限信息。
基于具体的业务形态,认证服务可划分为两类:内部系统用户认证和权限管理;自建开放平台用户认证和权限管理。
//TODO 后续抽时间设计
五、引用
RBAC模型简介:
邮箱:
技术交流QQ群:1158377441