Практика
Задача: Необходимо организовать защиту приложения со следующими требованиями:
- Авторизация по логину и паролю
- Разделение пользователей на группы
- Администратор (все права)
- Руководитель (просмотр статистики по всем направлениям)
- Руководитель направления (права в пределах направления, нет возможности просмотра других направлений)
- Руководитель предприятия (права в пределах предприятия, нет возможности просмотра других объектов)
- Разделение пользователей по ролям в соответствии с группами
- На backend есть API endpoint и HTML endpoint
- Неавторизованный пользователь имеет доступ к некоторым страницам без авторизации
Реализуем это при помощи декораторов из отдельного модуля. Желательно не хардкодить роли, должно быть внешнее хранилище.