这在 Web 应用程序开发中是很常见的事情。我已经做过很多次了。
但是我被困在我当前的项目中为此设计模式。
问题是我的应用程序一开始会有三种类型的用户,例如超级管理员、管理员和普通用户。
我计划将这些用户类型作为角色,如 ROLE_SUPERADMIN、ROLE_ADMIN 和 ROLE_USER。
系统可以有很多角色。事实上,SuperAdmin 和 Admins 创建角色并将这些角色分配给用户。
问题是,
超级管理员将拥有 p1、p2 和 p3 的权限。超级管理员可以创建其他超级管理员。超级管理员可以创建管理员。超级管理员不会在系统中添加用户。
管理员可以拥有 p5、p6 和 p7 权限。管理员无法创建其他管理员。管理员可以创建其他用户。管理员还可以创建诸如报告查看者之类的角色。
具有 p1、p2 和 p3 权限的超级管理员应该能够创建具有 p5、p6 和 p7 权限的管理员。我不太明白。
逻辑上,当超级管理员自己没有权限 p5、p6 和 p7 时,他们如何创建具有这些权限的管理员?
请帮助我进行正确的设计。
以下是我到目前为止的设计。
USER 用户
ID 角色 ID
ROLE
RoleID RoleName
权限PermissionID
PermissionName
ROLE_PERMISSION RoleID PermissionID
谢谢。