Я программирую новое приложение со многими пользователями, несколькими ролями и определенными разрешениями для этих ролей. Для этого я хочу создать следующие таблицы:
Users (ID,Login, password,..)
Roles(ID,Rolename)
User_Roles(User_ID, Role_ID)
Permissions(ID,PermissionName)
Permission_Roles(Permission_ID, Role_ID)
Моя идея состояла в том, чтобы создать функцию, которая позволяет проверить, есть ли у пользователя определенное разрешение на доступ к форме. Я бы сделал это, создав разрешения/правила, такие как «canReadFormX», «canEditFormX», которые позволили бы мне использовать одну основную функцию для проверки и выполнения этих конкретных правил и функцию для каждой формы для ее вызова.
Это путь (вернее, я все правильно понял в отношении RBAC) или это слишком сложно? Любой совет очень ценится!