44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
---
|
||
code: DOC-036826
|
||
title: "1. Аутентификация и авторизация"
|
||
---
|
||
|
||
# 1. Аутентификация и авторизация
|
||
|
||
## Основная логика
|
||
|
||
Аутентификация происходит с помощью таблицы
|
||
`users`
|
||
в БД, которая хранит атрибуты
|
||
`email`
|
||
и
|
||
`role`
|
||
, необходимые для аутентификации
|
||
|
||
При аутентификации система находит пользователя по его
|
||
`email`
|
||
в таблице
|
||
`users`
|
||
.
|
||
|
||
По полю
|
||
`role`
|
||
определяется, какие права у пользователя.
|
||
|
||
Авторизация происходит только по валидному JWT-токену, полученному от внешнего сервиса RAISA.
|
||
JWT-токен содержит email пользователя.
|
||
Система извлекает email из токена и ищет пользователя в таблице
|
||
`users`
|
||
.
|
||
|
||
* Если пользователь найден, создается сессия, и аутентификация считается успешной.
|
||
* Если пользователь не найден, доступ запрещается.
|
||
|
||
## Управление пользователями и ролями
|
||
|
||
Назначение ролей пользователям выполняется вручную пользователем с ролью "Администратор"
|
||
|
||
Добавление, удаление и редактирование пользователей доступно только пользователем с ролью "Администратор"
|
||
|
||
Форма регистрации для пользователей не предусмотрена.
|