Это очень распространенная вещь в разработке веб-приложений.Я делал это несколько раз.
Но я застрял в своем текущем проекте по разработке схемы для этого.
Дело в том, что в моем приложении в начале будет три типа пользователей, например SuperAdmin, Admin и обычный пользователь.
Я планирую использовать эти типы пользователей в качестве ролей, таких как ROLE_SUPERADMIN, ROLE_ADMIN и ROLE_USER.
Система может иметь много ролей.На самом деле SuperAdmin и Администраторы создают роли и назначают эти роли пользователям.
Проблема в том, что
Супер Администраторы будут иметь права p1, p2 и p3.Супер Администраторы могут создавать других супер администраторов.Супер Администраторы могут создавать администраторов.Супер Администраторы не будут добавлять пользователей в систему.
Администраторы могут иметь разрешения p5, p6 и p7.Администраторы не могут создавать других администраторов.Администраторы могут создавать других пользователей.Администраторы также могут создавать роли, такие как, например, средства просмотра отчетов.
Супер администратор с разрешениями p1, p2 и p3 должен иметь возможность создавать администраторов с разрешениями p5, p6 и p7.Что я не совсем понимаю.
По логике, когда сами супер-админы не имеют разрешения p5, p6 и p7, как они могут создавать администраторов с этими разрешениями?
Пожалуйста, помогите мне с правильным дизайном.
Ниже приведен дизайн, который у меня есть.
ПОЛЬЗОВАТЕЛЬ
UserID RoleID
ROLE
RoleID RoleName
РАЗРЕШЕНИЕ
PermissionID PermissionName
ROLE_PERMISSION RoleID PermissionID
Спасибо.