Авторизация
Аутентифицированный пользователь получает доступ к части функционала системы. Чтобы контролировать с какими именно частями системы пользователю можно взаимодействовать, вводится система ролей и разрешений.
Основное положение
Все пользователи групируются по ролям, а к каждой роли прикрепляется разрешения.
Таким образом:
- Отдельному пользователю присваивается роль.
- Отдельное разрешение присваивается одной или нескольким ролям.
- Если пользователь аутентифицирован, система получает его роль, получает разрешения которые есть у этой роли и проверяет - есть ли в этом списке разрешение, которое необходимо для выполнения действий.
Миграции
Роли и разрешения добавляются в базу через миграции. Если необходимо добавить новую запись, нужно сделать это через новую миграцию.
Список груп
Все пользователи групируются по следующим ролям:
user
- аутентифицированный пользователь системыuser_frozen
- аутентифицированный пользователь системы, который был замороженuser_blocked
- аутентифицированный пользователь системы, который был заблокированadmin
- администратор системы у которого расширенный список разрешенийsuper-admin
- главный администартор у которого есть все разрешения
Список разрешений
Все разрешения прописаны в исходном коде и только там. Пример разрешений:
add new lot
- добавить новый лот в систему