上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5.4 权限管理模块
权限管理在很多应用系统中都有实现,如贴吧的管理员、版主、会员、访客等都是不同的角色。本书使用RBAC(Role-Based Access Control,基于角色的访问控制)模型进行权限管理模块的设计。
RBAC通过角色与角色、角色与权限将用户进行关联。每个用户拥有若干个角色,每个角色拥有若干权限,这样就构成了“用户—角色—权限”的授权模型,这是当前行业中权限设计最为合理的方案。
如图1-9所示,在RBAC中将权限与角色进行关联,即用户通过成为某个角色而得到该角色对应的权限。这种层级相互依赖的设计关系清晰,易于理解,管理起来很方便,不像用户直接关联权限的设计一样,容易造成混乱。
图1-9
RBAC主要涉及用户、角色、权限三个实体,它们之间是多对多的关系。本书会在第6章实现以上三个模块的新增、删除、修改、查询功能及关联关系;权限管理(认证和授权)会在第8章完成;前后端分离架构下因为跨域访问导致认证、授权的解决方案也有所不同,这会在第16章中得到解决。权限管理模块的功能如图1-10所示。
图1-10
权限管理系统除了可以在某个项目中作为一个模块进行权限的管理工作,也可以作为一个独立的子项目进行开发、管理和发布。