NsuTs/Documentation/db/authentification

Изменения в системе аутентификации пользователей

Цель

Изменения внесены в рамках реализации концепции «единого входа» в систему тестирования и избавления от дублирования данных в БД.

Изменения в схеме данных

Следующие таблицы в БД предполагается использовать для хранения информации об аутентификации и авторизации.

Сценарии

  1. Индивидуальные соревнования. В таблице “user_olympiad” отсутствует ссылка на “team”
  2. Командные соревнования. В таблице “user_olympiad” участники одной команды имеют ссылки на одну запись в таблице “team”
  3. Жюри/тренеры. Не привязаны к команде (Или привязаны в выделенной команде “Jury”, или к одной из выделенных команд). Члены жюри, как правило, привязаны к нескольким олимпиадам (например, тренировкам).
  4. Команды в такой схеме не привязаны к какой-либо конкретной олимпиаде, поэтому одна команда может участвовать в нескольких олимпиадах (Участники команды будут иметь записи в таблице user_olympiad для каждой из олимпиад)
  5. «Автоматически» создаваемые пользователи в системе. Используется для проведения соревнований. В этом случае создаваемые пользователи не привязываются к уже существующим (хотя, возможно следует предусмотреть возможность «сливать» разных пользователей в одного)
  6. Пользователь может создавать команды и «приглашать» в него других зарегистрированных пользователей (? требует доработки)
  7. Восстановление пароля работает стандартным способом – через email.
  8. Доступ к системе регулируется специальной привилегией (например, p_login). ПРивилегия проверяется при каждом обращении к системе (при каждом запросе).

Изменения формы авторизации

ввод email или логин, ввод пароля. Т.к. у нас все равно email однозначно определяет пользователя, то это будет удобнее