Авторизация (4ч) 40 $
Основное действующее лицо: пользователь системы "Тамбов.Сердце", администратор.
Область действия:взаимодействие пользователя с системой «Тамбов.Сердце».
Предусловия: пользователь должен быть зарегистрирован.
Минимальные гарантии:пользователь узнает факт успешной
или неуспешной попытки авторизации.
Гарантии успеха:пользователь вошёл в систему.
Контекст:пользователь системы «Тамбов.Сердце», авторизуется в системе с использованием веб-браузера, чтобы система предоставила доступ к функциям веб-приложения.
Основной сценарий:
- Пользователь заходит в веб-приложение «Тамбов.Сердце», где ему предлагается авторизации в системе путем ввода логина и пароля.
- Пользователь вводит логин и пароль.
- Система проверяет логин и пароль; если введены верные логин и пароль, система протоколирует и сохраняет сведения о факте авторизации пользователя в системе «Тамбов.Сердце».
- Происходит переход пользователя на страницу «Список пациентов» с загруженными данными, согласно определенной роли(уровня доступа).
Расширения:
3.а.1. Пользователь ввел некорректный логин и/или пароль, при этом в окне авторизации система выводит сообщение «Введен неверный логин/пароль».
3.б. Если логин и пароль принадлежат действующему лицу "администратор", система проверяет логин и пароль, если введены верные логин и пароль, система протоколирует и сохраняет сведения о факте авторизации администратора в системе «Тамбов.Сердце». Если администратор ввел некорректный логин и/или пароль, в окне авторизации система выводит сообщение «Введен неверный логин/пароль».
3.б.1. При правильном введенном логине и пароле происходит переход администратора на страницу «Администратор» с загруженными данными.
Минимум требуемых запросов на сервер:
- На странице авторизации: по нажатию на кнопку входа в систему при введенных в соответствующие поля страницы корректных логина и пароля аккаунта системы
- входные данные:
- логин аккаунта
- хеш пароля аккаунта*
- возвращаемый результат:
- при успешном прохождении проверки совпадения логина и хеша пароля:
- если аккаунт имеет роль доступа администратора системы - HTML-документ, соответствующий разделу системы "Администратор"
- если аккаунт имеет любую другую роль доступа - HMTL-документ, содержащий информацию о списке пациентов с сердечно-сосудистыми заболеваниями
- в противном случае (т.е. при несовпадении аутентификационных данных) - текстовое сообщение об ошибк авторизации
- при успешном прохождении проверки совпадения логина и хеша пароля:
- алгоритм обработки запроса
- прочитать из таблицы users по полученному логину ID и хеш пароля
- допускается и приветствуется использование стандартных в используемом фреймворке средств аутентификации (вместо сравнения хешей паролей для указанного логина вручную) при условии их наличия и достаточной безопасности
- создать новую запись в таблице протоколирования фактов авторизации, где указать:
- ID аккаунта, в который осуществляется попытка входа в систему
- время и дата в момент обработки данной попытки входа в систему
- IP адрес и информация о браузере пользователя, осуществляющего вход в систему
- успешна ли была данная попытка входа в систему
- Если попытка входа в систему не была успешной (например, в таблице users не найден аккаунт с полученным логином, или пароль введен неверно), то повторно сформировать HTML-документ, соответствующий странице схода в систему, и вернуть его и текстовое сообщение о неуспешной авторизации
- В противном случае (т.е. если попытка входа успешна):
- сделать запрос в таблицу users для получения информации о роли доступа аккаунта, под которым был осуществлен вход в систему
- Если данный аккаунт обладает ролью администратора системы, то осуществить перенаправление на страницу со списком аккаунтов системы
- прочитать из таблицы users по полученному логину ID и хеш пароля
- входные данные: