Я написал несколько сложных приложений MVC, все они основаны на ролях и используют членство в .NET. В моем первом проекте я использовал роли со структурой, подобной этой:
Я быстро обнаружил, что это не очень масштабируемо, например, заказчик скажет: «Я хочу конкретного пользователя x чтобы иметь все права администратора, но не удалить ». Затем мне пришлось бы взломать контроллер для этого пользователя.
Таким образом, моя вторая реализация привела к такой ролевой структуре:
Этот подход затем привело к буквально десяткам ролей в зависимости от того, могут ли они редактировать отдельные элементы глобально или только свои собственные и т. д. Это также приводит к гораздо большему количеству действий контроллера и значительно большему количеству кода - хотя, возможно, это только так в случае сложное приложение!
Мой вопрос в том, правильно ли я подхожу к этому, и есть ли какие-либо хорошие онлайн-ресурсы о «правильном» подходе к сложным приложениям с множеством ролей. Правильно ли я делаю это?