Уважаемые коллеги, подскажите в сл. вопросе:
на предприятии создается с нуля виндовая НоваяИнфоСистема (НиС). (Комплекс вин-приложений как надстройка над некоей базой. )
Работать начинает примерно так:
- сотрудник является пользователем NW-сети и имеет некоторые полномочия в НиС.
- при запуске стартового модуля НиС происходит считывание из eDIR информация о полномочиях этого конкретного пользователя NW-сети в НиС (простой польз., продвинутый, нач., аудитор, etc) и поднастройка конкретного рабочего места с предоставлением соотв прав доступа к данным НиС и соответсвующих программных модулей.
Т.е. на текущий момент Дерево хранит толькро минимальные сведения - ранг работника в паралельной ИнфоСистеме.
Отсюда сразу видна проблема:
- ВасяПупкин залогинился в NW-сеть и запускает НиС.
- стартовый модуль НиС определил, что это наш Вася, полез в Дерево и прочитал полномочия Нашего Васи ( допустим - начальник).
- Вася плодотворно использует НиС на благо. Предположим, до обеда.
- уходя на обед, Наш Вася отлогинивается от NW-сети., но не закрыл НиС. Ну, просто под пасьянсом его не увидел... бывает.
- и это вин-приложение НиС остается в памяти машины и доступно любому другому васе, причем с полномочиями начальника. А это недопустимо - система предполагается серьезная.
- кроме того, если на место НашегоВаси просто садиться и залогинивается в NW-сеть уже ДругойВася (с другими полномочиями в НиС, большими или меньшими) , то НиС-система должна это понять и принудительно закрыть забытую НашимВасей сессию.
Вопрос: каким образом мои программисты (ранее с NW дела не имевшие никакого) должны написать код, который отследит события "текущая NW-сессия закрыта" и/или "новая NW-сессия начата" что бы по этим событиям инициировать закрытие текущей сессии НиС ?
Примеры кода и ссылки на примеры кода приветствуются...
Спасибо.