Безопасность
Вы узнаете:
- О модели и принципах безопасности Hakutest
- Как настраивать Hakutest с точки зрения безопасности
Обзор
Безопасность — неотъемлемая часть Hakutest. Платформа реализует надежную модель безопасности, оставляя при этом возможности для настройки.
Модель безопасности
Модель безопасности Hakutest основана на ролях и политиках.
Роли определяют, какая страница или действие (маршрут) доступны определенному пользователю. Каждый маршрут отмечен как доступный для определенного набора ролей. По сути, интерфейс ученика доступен пользователям с ролью "ученик", а интерфейс учителя (такие страницы, как Панель управления, Меню тестов, Настройки и т. д.) доступен пользователям с ролью "учитель".
Политики определяют, подходит ли пользователь под ту или иную роль. Различные политики могут применяться к разным ролям, причём к одной роли применяется одна политика.
На данный момент Hakutest реализует 3 политики безопасности:
Для всех без верификации
Позволяет кому угодно получить доступ к маршруту без дополнительной проверки.
СОВЕТ
По умолчанию эта политика применяется для учеников.
По имени пользователя и паролю
Требуется авторизация пользователя путем ввода его учетных данных (имени пользователя и пароля).
После успешной авторизации Hakutest запоминает пользователя, поэтому при последующих запросах ввод учетных данных не требуется.
При использовании этой политики безопасности Hakutest'у необходимо хранить имена пользователей и пароли в базе данных. В настоящее время платформа поддерживает 3 диалекта:
- SQLite (по умолчанию) — учётные данные хранятся в локальном файле.
- MySQL
- PostgreSQL
Информацию о настройке хранения данных пользователей см. ниже.
СОВЕТ
Для управления пользователями вы можете использовать любую админ-панель, совместимую с используемой базой данных. Hakutest хранит данные пользователей в таблице hakutest_users
.
Только это устройство
Доступ к маршруту возможен только с того же устройства, на котором работает сервер (т.е. только с хоста). Это означает, что вы, как учитель, будете иметь доступ, а ваши ученики — нет.
СОВЕТ
По умолчанию эта политика применяется для учителя.
Конфигурация
Хотя настройки безопасности Hakutest по умолчанию достаточно надежны, вы можете изменить их в соответствии со своими потребностями. Например, вам может понадобиться хранить данные пользователей в базе данных вашего учебного заведения.
Настройки безопасности Hakutest можно изменить в Настройках.
Параметр | Описание | К сведению |
---|---|---|
Политика безопасности (ученик) | Политика безопасности, применяемая к интерфейсу ученика | – |
Политика безопасности (учитель) | Политика безопасности, применяемая к интерфейсу учителя | – |
Диалект БД пользователей | Диалект базы данных, в которой хранится информация о пользователях | – |
DSN БД пользователей | DSN (Data Source Name) базы данных, в которой хранится информация о пользователях | Для диалекта SQLite — путь к файлу базы данных.Для диалектов MySQL и PostgreSQL — строка подключения |
К СВЕДЕНИЮ
Все настройки безопасности требуют перезапуска для вступления в силу.
Типичные ошибки
ОСТОРОЖНО
Ни в коем случае не делайте то, что описано ниже!
Применение политики "Без верификации" к интерфейсу учителя
Это очень опасно. Это позволяет кому угодно получить доступ к интерфейсу учителя: изменять настройки, удалять тесты и результаты и т. д.
Применение политики "Только это устройство" к интерфейсу ученика
Это сделает Hakutest непригодным для использования, так как ученики не смогут получить доступ к тестам.
Изменение диалекта без изменения DSN
Поскольку DSN зависит от используемой базы данных, необходимо изменить как сам диалект, так и DSN. В противном случае Hakutest не сможет подключиться к базе данных.