![]() |
|
Модераторы: gambit |
![]()
|
|
| Doss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
проблема!
В общем вот дело: Веду аудит кто что сделал на сайте. Все нормально, но вот как записать в аудите что клиент вышел из сайта? Каждая запись в аудите привязана к конкретному пользователю. Пытаюсь id пользователя вытащить из cookie в момент завершения session в файле global.asax, но как и на всех форумах пишут там все поля и значения пусты. Кто как решал этот вопрос (в момент ухода из сайта поймать значение прежнего пользователя)? Помогайте ..... спать ведь мне нужно когда нибудь.... |
|||
|
||||
| Doss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
ммм да, по mr. Duda скучать стал. Раньше хоть форум был живее!
|
|||
|
||||
| Doss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
В общем то вывод "НИКАК"
|
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 2 Всего: 24 |
ты можешь сохранить в сессии то что хочешь из нее получить.
но в общем случае сервер не знает когда пользователь "покинул" сайт. он узнает если только пользователь реально послал запрос о выходе. т.е. нажан на кнопку "SignOut", к примеру. во всех остальных случаях сессиия будет умирать по таймауту. иначе говоря, если пользователь закрыл страницу или браузер, то сессия его не закроется и продолжит жить еще какое то время(определяется в настройках, по умолчанию 20 мин). В общем надо конкретнее определить, что считать "уходом пользователя" тогда и решения будут более конкретные, сложные или простые. пока могу предложить заставить браузер сказать что он закрылся свой провайдер - пример. HttpContext.User Это сообщение отредактировал(а) Экскалупатор - 8.6.2013, 11:04 |
|||
|
||||
| Doss |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 5.10.2007 Репутация: нет Всего: нет |
Да, все правильно
Это действует пока сессия жива. Но когда в global.asax сессия умирает, то достать вообще нельзя с прежнего сайта. Да в этой случае можно осуществить запись в базу или что то иное, но со статическими данными(cookies и данные о пользователе, который аутентифицировался ( User.Identity.Name)) при уходе сессии не доступны. Своего провайдера писать возможно стоит. Спасибо Экскалупатор, но пока в меру своей не опытности не могу сказать, это удобно, хорошо, эффективно или иначе... Сделал в базе время логина (входа) пользователя и время его последней активности на сайте (если он был активен более чем timeout сессии (20 минут к примеру)) то он вышел из сайте . Хотя это больше нужно для контроля входа пользователя с одного компа, чем ведения аудита о действиях пользователя. Буду дальше решать этот вопрос, позже отпишусь о результате.... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |