Я собираюсь разработать веб-приложение для управления с помощью Laravel.
Мне нужно, чтобы у моих пользователей были разные роли с разными разрешениями.
В деталях: некоторые пользователи могут добавлять клиентов, некоторые пользователи могут писать статьи, связанные с клиентом, некоторые другие пользователи могут просто читать эту статью, а некоторые другие пользователи могут читать только некоторые части этой статьи.
Поэтому я решил использовать подход RBAC, чтобы получить определенную гибкость. Я буду использовать эту схему БД (просто пример схемы, но представляющий потребности моего приложения):
Мой ответ таков: поскольку существует прямая связь между пользователями и бумагой, клиентом, вложениями и т. д., как выражаются правила RBAC? Я должен проверять разрешение пользователя во внешнем интерфейсе, когда он запрашивает операцию или ресурс? Или есть способы выразить эти правила даже на бэкэнд-уровне? Может быть, используя некоторые варианты GRANT?
Надеюсь, sby может помочь. Благодарю вас!