Ограничение продолжительности сессии пользователя
Оглавление раздела
- 1 Оглавление раздела
- 2 Общая информация
- 3 Настройка ограничения в Административной части
- 4 Описание механики “Log out при бездействии“
Общая информация
Цель разработки
Цель разработки – дать возможность администраторам ограничивать продолжительность сессии пользователя.
Хорошо, но для чего?
Один из примеров использования – решение задачи несанкционированного доступа к платформе через учётную запись другого пользователя.
Допустим, что одним устройством пользуется несколько сотрудников компании. Сотрудник А. совершил вход на портал, а затем ушёл от устройства, не выйдя с портала. Сотрудник Б. начал работу с устройством, открыл страницу портала и увидел, что портал доступен от лица другого пользователя. Если бы ограничение продолжительности сессии было задано и сотрудник Б. открыл портал после того, как время истекло, он бы не смог использовать портал под чужой учётной записью – система потребовала бы пройти авторизацию.
Обратите внимание, ограничение сессии – функционал, который использовать необязательно. Если у вас нет задач, которые бы решались подобной мерой, возможно лучше оставить всё как есть.
Краткое описание механики
Работа ограничения продолжительности сессии обеспечена взаимодействием нескольких механизмов:
Механизм определения бездействия пользователя в веб-портале
Механизм определения бездействия пользователя в приложении
Механизм проверки истечения времени пользовательской сессии
Администратор задаёт настройку ограничения. Пользователь использует систему со своего устройства.
Пользователь перестаёт использовать систему. Проходит время.
Пользователь возобновляет работу с системой.
Система сравнивает настройку администратора с фактическим временем отсутствия пользователя.
Если время без активности больше указанного в настройках, система требует от пользователя пройти процедуру авторизации.
Если пользователь использует систему с разных устройств, то log out происходит только на том устройстве, где время без активности больше указанного в настройках.
Ограничение сессии пользователя по умолчанию
По умолчанию механизм ограничения сессии не включен.
Продолжительность сессии пользователя зависит от выбора пользователя при авторизации и типа авторизации.
Авторизация по логину и паролю
Продолжительность сессии пользователей, авторизованных на портале по логину и паролю не ограничена.
Okta
Продолжительность сессии пользователей, авторизованных на портале с помощью Okta, – 24 часа.
Настройка ограничения в Административной части
Как настроить ограничение сессии
Детали настройки описаны в разделе Авторизация пользователей | Блок “Время сессии пользователя (в минутах)”Preview
Как настроить ограничение сессии
Детали настройки описаны в разделе Авторизация пользователей | Блок “Срок сессии пользователя с доверенного устройства в минутах”Preview
Описание механики “Log out при бездействии“
Как работает механизм определения бездействия пользователя в веб-портале
Активность пользователя – это фокус пользователя на вкладке с открытым порталом.
Фокус на вкладке определяется как состояние, при котором браузер каждые 30 секунд посылает запросы сессии к системе.
Если пользователь ушёл из вкладки, система перестаёт получать такие запросы.
О последствиях действий пользователя в браузере
Обновление страницы – продлевает сессию пользователя
Удаление coockie – мгновенный log out
Очистка кэша – не влияет, если при очистке не удаляются coockie. (см. п. 2)
Возврат во вкладку с порталом – в этот момент браузер отправляет запрос к системе
Поэтому после превышения установленного ограничения сессии возврат пользователя вызывает отправку запроса, проверку и мгновенный log out пользователя.
Как работает механизм определения бездействия пользователя в приложении
Активность пользователя в приложении определяется как фокус и действия пользователя на активном экране приложения. Если пользователь активен, происходит отправка запросов с токеном каждые 30 секунд.
Активность приложения определяется как состояние, при котором между 30-секундными запросами произошло действие: касание или изменение размера экрана.
Как работает механизм проверки истечения времени пользовательской сессии
Сессии пользователя на разных устройствах – это разные сессии.
При новой активности пользователя на портале или в приложении система проводит сравнение даты и времени последней активности, текущего значение даты и времени и ограничения сессии, установленное в панели администрирования.
Если дата последней активности меньше разности текущей даты и ограничения сессии, то происходит log out пользователя.
Если дата текущей активности больше или равна разности текущей даты и ограничения сессии, сессия продолжается без авторизации пользователя.
Устройства пользователя
Под устройствами пользователя понимаются разные браузеры, режим инкогнито в том же браузере, разные приложения, установленные на разные мобильные устройства.