Сеансы jBASE Web Builder и Безопасность
ОБЗОР
jBASE Web Builder управляет сеансом пользователя, используя уникальный
номер сеанса и последовательный номер для хранения текущего состояния
действий этого пользователя.
При подключении пользователя к системе jBASE Web Builder может
произойти одно из двух. Он может быть направлен на страницу без
сеанса (session-less) - например, на простую web-страницу, либо
он может быть направлен к странице, которая создает сеанс (сессию)
и помещает пользователя в интерактивное окружение.
Различные опции командной строке при установке в jBASE Web Builder
Configuration позволяют разработчику диктовать, какие из этих
опций применяются.
ПОЛЬЗОВАТЕЛИ И ГРУППЫ
При первом соединении с jBASE Web Builder и при показе входной
страницы (Logon page) пользователь подключается как заранее определенный
пользователь "guest" - "гость".
После ввода имени пользователя и пароля этому пользователю назначаются
права и привилегии любой группы, определяемые в "User Definitions".
Затем строится глобальная страница post-logon page (или страница
post logon page конкретного пользователя, если таковая определена),
и будут показаны только объекты, для которых не определены группы
безопасности, или такие, для которых имеются соответствующие групповые
права.
НАЗНАЧЕНИЕ СЕАНСА И УПРАВЛЕНИЕ СЕАНСОМ
Когда пользователь выполняет подключение к jBASE Web Builder через
набор URL в адресной строке web-броузера и подтверждение запроса,
сначала jBASE Web Builder проверяет параметры запроса для существующего
сеанса. Если сеанс не найден, то будет создан новый. Номер сеанса
представляет собой случайное 12-разрядное число. Это делается
во избежание дублирования существующих сеансов. Последовательный
номер по умолчанию автоматически принимается равным 1. Дальнейшие
взаимодействия с jBASE Web Builder будут сохранять тот же номер
сеанса, но последовательный номер будет возрастать. При каждом
взаимодействии IP-адрес проверяется, чтобы гарантировать, что
"верительные грамоты" данного сеанса нельзя было перехватить.
Вся информация сеанса хранится в файле syssessions. Существует
одна главная запись (master record), ключом этой записи - record
id является номер сеанса, а сама запись содержит такую информацию,
как дата и время начала сеанса, а также любые дочерние или родительские
сеансы. Ее вид следующий:
Второй записью сеанса является глобальная запись, или запись системных
разрешений - "sysperm". Здесь хранится информация в
виде значений "sysperm" для этого сеанса:
Последняя запись сеанса - это такая, в которой содержатся детали
по каждому взаимодействию. Она используется системой jBASE Web
Builder для перемещения пользователя вперед или назад между страницами.
СРОК ГОДНОСТИ СЕАНСА / ПАРОЛЯ
В области пользовательских настроек у вас есть возможность определить
для пользователя срок прекращения сеанса и пароля. Опция прекращения
пароля позволяет вам задать количество дней, пока пользовательский
пароль остается годным, а опция прекращения сеанса задает срок
в минутах, пока пользователь может оставаться бездействующим,
после чего система отменит его сеанс. Возможна также опция режима
закрытия сеанса. Если она равна 0, то пользователь вернется к
входной странице, принятой по умолчанию (default logon page),
при установке в 1 вырабатывается ошибка, а установка любого другого
текста направит пользователя к странице, заданной в тексте. Эти
опции доступны только в jBASE Web Builder версий 3.0 или выше.
ОПЦИИ SESSIONCOPY, SEQUENCECOPY И DATACOPY
Существует возможность порождения сеанса от другого сеанса, с
теми же правилами безопасности, что и в оригинальном сеансе. Для
этого служат командные опции sessioncopy и sequencecopy. В частности,
это удобно в таких случаях, когда открывается новое окно броузера
- например, с помощью функции JavaScript "window.open(…)",
или в окружении, поделенном на фреймы. Дополнительная опция datacopy
, введенная в версии 3.0, позволяет вам также скопировать все
значения syshidden, sysdata, и sysperm, а также sysid.