Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Закрыть зная ее SessionID


Автор: davandr 10.8.2007, 14:29
Как закрыть сессию, зная ее SessionID? 
Имеется ввиду не текущую, но еще открытую.. (например, пользователь закрыл окно браузера, но ID его сохранено в БД и я получаю его в другой сессии)

Автор: Idsa 10.8.2007, 16:51
Цитата(davandr @  10.8.2007,  14:29 Найти цитируемый пост)
Имеется ввиду не текущую, но еще открытую.. (например, пользователь закрыл окно браузера, но ID его сохранено в БД и я получаю его в другой сессии) 

Ты боишься, что другому пользователю будет дан такой же SessionId? Зря. Вероятность этого события очень низка в силу большой длины SessionId.
А вообще, это вопрос из рубрики "как отследить закрытие окна браузера". Можно, конечно, используя JavaScript, отследить это событие, однако овчинка выделки не стоит. Суть в том, что практически нереально подобрать (даже если очень захотеть) SessionId за реальный SessionTimeout.

Автор: davandr 10.8.2007, 17:51
Цитата(Idsa @  10.8.2007,  16:51 Найти цитируемый пост)
Ты боишься, что другому пользователю будет дан такой же SessionId? Зря.


Нет не боюсь. Я веду учет онлайн пользователей, так вот, при логине пользователя делается запись в базу сместе с SessionID. Если пользователь закрыл окно браузера и тут же открыл новое и пытается зайти (а время жизни сессии) то он получит сообщение что он уже залогинен и ему придется ждать завершения своей предыдущей сессии (на сайте защита, пользователь может быть залогинен 1 раз). На Session_End снимается онлайн пометка пользователя. Вот для этого мне и надо знать SessionID, т.е. если пользователь логиниться, то все остальные сессии должны завершится. 
Надеюсь полятно объяснил?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)