Установка продолжительности сессии пользователя
Glossary Item Box
Общие сведения
Процесс установки продолжительности сессии пользователя отличается для более ранних версий bpm'online и для версий 7.9.1 и выше. В более ранних версиях настройка продолжительности сессии пользователя выполнялась с помощью конфигурирования пула приложения в IIS и изменения конфигурационных файлов приложения. Начиная с версии 7.9.1, продолжительность сессии пользователя устанавливается с помощью системной настройки.
Установка продолжительности сессии пользователя для версий bpm'online до 7.9.1
Для настройки продолжительности сессии пользователя в bpm'online версии 7.9.0 и ниже необходимо:
1. Установить продолжительность простоя на сервере IIS в настройках пула приложений
Для этого необходимо для нужного приложения (рис. 1, 1) в пуле приложений (2) найти пул (3), в котором опубликовано приложение. Затем для найденного пула приложений необходимо отобразить расширенные настройки (4) и установить требуемое значение для параметра [Idle Time-out (minutes)] (5).
Рис. 1. — Установка продолжительности простоя в настройках пула приложений IIS
2. Изменить параметры в конфигурационных файлах Web.config
В файлах Web.config как загрузчика, так и приложения (так называемые "внутренний" и "внешний" Web.config) необходимо изменить сессионный и авторизационный параметры.
Для изменения сессионного параметра необходимо присвоить необходимое значение времени ожидания в атрибуте timeout элемента sessionState, вложенного в элемент system.web. Это значение должно совпадать со значением, установленным в параметре [Idle Time-out (minutes)] пула приложений (см. п. 1).
Авторизационный параметр настраивается в элементе forms, вложенном в элементы authentication и system.web. Для его изменения также нужно присвоить необходимое значение времени ожидания в атрибуте timeout. Значение авторизационного параметра должно быть меньше, чем значение сессионного.
Пример настройки конфигурационного файла Web.config:
<system.web> ... <authentication mode="Forms"> <forms loginUrl="~/NuiLogin.aspx" protection="All" timeout="59" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="ViewPage.aspx?Id=4e342d5e-bd89-4b79-98e2-22e433122403" cookieless="UseDeviceProfile" enableCrossAppRedirects="true" /> </authentication> ... <sessionState mode="InProc" timeout="60" cookieName="BPMLOADER" /> </system.web>
Установка продолжительности сессии пользователя для версий bpm'online, начиная с 7.9.1
Начиная с версии 7.9.1, установка продолжительности сеанса пользователя выполняется с помощью системной настройки UserSessionTimeout. Эта настройка определяет время в минутах, по истечении которого сессия пользователя будет закрыта, если пользователь неактивен.
По умолчанию значение системной настройки UserSessionTimeout равно 60 минутам. Минимальная продолжительность сеанса составляет 10 минут, а максимальная — 720 минут.
Если системная настройка была по ошибке удалена или не установлена, либо ее значение невозможно получить вследствие каких-либо причин , приложение останется работоспособным. В этом случае значение таймаута будет взято из сессионного параметра файла Web.config приложения.
Установка значения системной настройки UserSessionTimeout при обновлении с более ранних версий
При обновлении с версий bpm'online 7.9.0 и ниже системная настройка UserSessionTimeout со значением 60 будет автоматически добавлена во время установки пакета Base. Однако если значение таймаута было изменено ранее, то его можно изменить повторно вручную либо с помощью утилиты WorkspaceConsole.
Необходимые параметры утилиты WorkspaceConsole для выполнения актуализации значения системной настройки приведены в таблице 1. Подробнее о работе с утилитой WorkspaceConsole можно узнать из раздела "Работа с утилитой WorkspaceConsole".
Табл. 1. — Параметры утилиты WorkspaceConsole
Параметр | Описание |
---|---|
-operation | Название операции по актуализации значения системной настройки. В качестве названия необходимо использовать значение ActualizeUserSessionTimeoutSettingsValue. |
-WebApplicationPath | Путь к приложению-загрузчику, т.е. путь к установленному приложению. Например, "C:\bpmonline79" |
-workspaceName | Имя рабочего пространства. По умолчанию Default. |
-logPath | Пути к логам утилиты WorkspaceConsole. Например, "C:\Log". |
После запуска утилиты с приведенными параметрами значение сессионного таймаута системной настройки UserSessionTimeout будет взято из файла Web.config приложения. Если указанный в Web.config таймаут выходит за пределы допустимых значений (меньше 10 либо более 720 минут), то для настройки все равно будет установлено указанное значение. При этом файл SysSettings.config в загрузчике будет изменен так, чтобы новое значение стало допустимым. Например, если в Web.config приложения указано значение таймаута 1000 минут:
<sessionState cookieName="BPMSESSIONID" timeout="1000" mode="Custom" customProvider="RedisSessionStore">,
то после завершения работы утилиты с указанными в таблице 1 параметрами, значение системной настройки станет 1000, а в файле SysSettings.config будет указано:
<sysSetting key="UserSessionTimeout" valueType="int" operation="max" value="1000" />
ВАЖНО Если в базе системная настройка отсутствует, значит ранее обновление произошло с ошибкой и утилита выдаст ошибку. |
К СВЕДЕНИЮ После обновления приложения и установки значения системной настройки UserSessionTimeout нет необходимости выполнять дополнительную настройку таймаута сессии на уровне пула приложения, а также указывать аутентификационный таймаут, как это происходило в предыдущих версиях. |