к примеру
Юзер локальной сети без права запускать file1.exe
запускает на сервере мою прогу /написанную на VB.NET/
вводит в ней свой логин и пароль
и тогда прога в свою очередь с помощью CreateProcessWithLogon
расширяет права и запускает ему file1.exe
Как мне лучще создать уникальный Session-ID, что бы
во-первых
никто уже не мог зайти с тем же логином и паролем
в мою прогу пока этот юзер там сидит
во-вторых
отличить когда юзер с этим логином и паролем закончит работу,
причём даже если он не корректно её закончит.
Система типа того, что используют провайдеры при идентификации
клиентов.
Что сотворил я:
Прога пишет в отд. файл каждые 5 минут текущее время и логин пользователя.
При корректном выходе из проги - всё стирается.
При некорректном выходе запись остаётся но время уже
не обновляется.
При попытке войти второй раз - проверяется нет ли в файле
имени пользователя,
если нет - разрешается вход,
если есть - проверяется когда последний
раз обновлялось время.
если до 5 минут - в доступе отказывактся
/есть вероятность что он ещё работает/
если > 5 минут тогда вход разрешается.
Это так сказать решение в лоб.
Может кто знает какие либо системные возможности
создать Session-ID
Может кто скажет недостаток этого метода.
Всем спасибо.
Ответить
|