Управление сессиями и доступом
В СМ «Пульт» модуль Управление сессиями и доступом (UP9) реализует требования ИАФ.3 (управление идентификаторами) и УПД.9 (ограничение параллельных сессий):
- ограничение параллельных сессий — контроль одновременных входов, политики при превышении лимита, принудительное завершение сессий;
- управление идентификаторами — архив удалённых пользователей, запрет повторного использования идентификатора (логина) и автоматическая блокировка неактивных учётных записей.
Раздел появляется в меню после активации модуля в Администрирование → Общие → Модули (см. pult-session-manager).
Открыть раздел: Администрирование → Управление сессиями и доступом.
На странице вкладки Сессии, Архив удалённых, Журнал действий. Справа в заголовке — Справка и Настройки. Внизу отображается состояние Воркеры (фоновые задачи модуля).
Сессии
Вкладка Сессии показывает только активные сессии (при включённом модуле). Завершённые и вытеснённые сессии из таблицы исчезают и больше не авторизуют запросы к интерфейсу и API.

| Колонка | Описание |
|---|---|
| Статус | Состояние сессии (например, Активен). |
| Пользователь | Логин пользователя. |
| Роль | Роль в Пульте (например, Суперадмин). |
| Источник | Источник сессии (например, pult). |
| IP | Адрес клиента. |
| Устройство | User-Agent браузера / устройства. |
| Последняя активность | Время последней активности в сессии. |
Над таблицей доступны поле Поиск… и обновление списка. Внизу — пагинация (Строк на странице).
Лимиты и политика при входе
При включённом модуле после успешного входа проверяется число активных сессий пользователя. Если лимит превышен, применяется политика из настроек:
| Политика в интерфейсе | Поведение |
|---|---|
| Блокировать (Отказать новому входу) | Новый вход отклоняется, существующие сессии сохраняются. |
| Вытеснять старую (Завершить самую старую сессию) | Завершается самая старая активная сессия, затем создаётся новая. |
Лимит = 0 означает отсутствие ограничения на число параллельных сессий.
Эффективный лимит определяется по приоритету (от более конкретного к общему): пользователь → роль → группа пользователей. На странице модуля в диалоге Настройки настраиваются политики по ролям (лимит, политика при превышении, TTL и разрешить повторное использование ID).
Для учётных записей с ролью Суперадмин (Super admin, type = 3) действует верхняя граница одновременных сессий — не более значения переменной окружения ADMIN_MAX_CONCURRENT_SESSIONS (рекомендуемое значение по УПД.9 — 2). Переменная задаётся при развёртывании; в интерфейсе нельзя сохранить лимит для суперадминистратора больше 2. См. pult-session-manager.
Пример: для Суперадмин при лимите 2 и политике Вытеснять старую третий вход завершает самую старую сессию. Событие фиксируется во вкладке Журнал действий (действие вида pult_login_evict_oldest).
Действия по сессии
В строке откройте меню ещё (⋯):
| Действие | Описание |
|---|---|
| Завершить сессию | Принудительно завершает выбранную сессию; запись удаляется из списка активных. |
| Завершить все кроме текущей | Завершает все остальные активные сессии пользователя, оставляя только текущую (если доступно в интерфейсе). |
| Заблокировать пользователя | Блокирует учётную запись пользователя (доступно при наличии прав). |

При выходе пользователя из системы (logout) или принудительном завершении сессии администратором соответствующая запись удаляется из таблицы активных сессий модуля.
Настройки
Нажмите Настройки на странице Управление сессиями и доступом.

Общие параметры (ИАФ.3)
| Параметр | Описание | По умолчанию |
|---|---|---|
| Период запрета повторного использования ID (дни) | Срок «карантина» ID (логина) удалённого пользователя: в течение этого периода нельзя создать новую учётную запись с тем же логином (при включённом модуле). По истечении срока запись удаляется из архива воркером. | 1095 (3 года) |
| Порог неактивности пользователя (дни) | Число дней без активности, после которого учётная запись автоматически блокируется (только при включённом модуле). Последняя активность — максимальное время lastaccess среди активных сессий пользователя; для пользователя, который ни разу не входил, учитывается дата создания учётной записи. | 45 |
Плановая проверка неактивных пользователей выполняется фоновым сервисом по расписанию (обычно раз в сутки).
Политики сессий (УПД.9)
Политики по ролям — для ролей Пользователь, Администратор, Суперадмин:
| Поле | Описание |
|---|---|
| Лимит сессий | Максимум одновременных активных сессий для роли. |
| При превышении лимита | Блокировать или Вытеснять старую. |
| Срок жизни сессии, мин | TTL сессии в минутах; 0 — без лимита по времени жизни. |
| Разрешить повторное использование ID | Разрешить или запретить повторное использование идентификатора сессии для роли. |
После изменений нажмите Сохранить. Настройки применяются сразу, без перезапуска сервера.
Архив удалённых
Вкладка Архив удалённых содержит записи об удалённых пользователях (не о завершённых сессиях).

При удалении пользователя из Пульта его запись переносится в архив независимо от того, включён модуль или нет. Удалённый пользователь не отображается в списках интерфейса.
| Колонка | Описание |
|---|---|
| Логин | Логин удалённого пользователя. |
| Имя / Фамилия | Имя и фамилия. |
| Удалён | Когда пользователь удалён. |
| Хранить до | До какой даты запись хранится в архиве («карантин» логина). |
| Удалил | Кто выполнил удаление. |
| Orig UserID | Исходный идентификатор пользователя. |
Повторное использование ID (логина):
| Состояние модуля | Поведение |
|---|---|
| Включён | Создать пользователя с логином из архива нельзя, пока не истёк срок Хранить до. |
| Выключен | Создать пользователя с тем же логином можно; запись удаляется из архива. |
По истечении срока хранения запись автоматически удаляется воркером up9_janitor (работает независимо от переключателя «модуль включён»), после чего логин снова доступен.
Если записей нет, в таблице отображается Нет строк.
Журнал действий
Вкладка Журнал действий — журнал событий модуля: входы с вытеснением сессии, принудительные завершения, блокировки за бездействие, изменения настроек и другие действия, связанные с сессиями и доступом.

| Колонка | Описание |
|---|---|
| Время | Когда произошло событие. |
| Действие | Код действия (например, pult_login_evict_oldest). |
| Инициатор | Пользователь или система, инициировавшие событие. |
| Детали | Параметры события (идентификаторы сессий, роль и др.). |
Воркеры
В нижней части страницы блок Воркеры показывает состояние фоновых задач модуля.
| Сервис | Назначение | Зависимость от переключателя «модуль включён» |
|---|---|---|
| up9_janitor | Удаление из архива записей с истёкшим сроком хранения логина | Не зависит — работает всегда |
| up9_inactivity_checker | Проверка неактивных пользователей | При выключенном модуле — только сбор данных; при включённом — блокировка по порогу |
Технические логи сервисов пишутся в стандартный журнал / файлы логов Пульта на стороне развёртывания.