-
Notifications
You must be signed in to change notification settings - Fork 13
Система контроля доступа
Nikita Melnikov edited this page Mar 16, 2018
·
1 revision
Система принимает запросы от турникетов и в зависимости от условий, описанных ниже, разрешает или запрещает открытие турникета.
Турникет отправляет запросы на сервер в случае, когда пользователь приложил к нему персональный ключ. Запрос состоит из следующих данных:
- ID ключа
- Дата
- Тип события: Вход или Выход
Условием, разрешающим открытие турникета, является наличие в базе данных разрешения для ID ключа или группы ключей, в которую входит этот ключ.
Задачи:
- Сервер должен научиться принимать запросы и всегда отвечать
Доступ разрешен
- Добавление базы данных, которая хранит разрешения для ключей
- При получения запроса, сервер должен отвечать
Доступ разрешен
/Доступ не разрешен
в зависимости от наличия разрешений для ключа - Управление разрешениями. Сервер должен научиться принимать запросы для добавления / удаления разрешений для ключей
- Добавление групп ключей. Если есть разрешение для группы, значит есть разрешение для всех ключей
- Добавление исключений для групп. Если есть разрешение для группы, но есть исключение разрешения для ключа, то доступ закрыт
- Запись в базу всех запросов на вход / Выход
- Выгрузка данных по запросам на вход / выход
- Выгрузка отчета о ключах, которые в течение времени T совершили более N неуспешных попыток входа
- Система контроля времени. Сервер должен научиться подсчитывать время пребывания сотрудника на работе на основании данных по открытию git loтурникетов.