Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Global.asax and cookies, как прочесть содержимое cookie  
V
    Опции темы
Doss
Дата 6.6.2013, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



проблема! smile  smile  smile 
В общем вот дело: Веду аудит кто что сделал на сайте. Все нормально, но вот как записать в аудите что клиент вышел из сайта? Каждая запись в аудите привязана к конкретному пользователю.
Пытаюсь id пользователя вытащить из cookie в момент завершения session в файле global.asax, но как и на всех форумах пишут там все поля и значения пусты.
Кто как решал этот вопрос (в момент ухода из сайта поймать значение прежнего пользователя)? Помогайте ..... спать ведь мне нужно когда нибудь....
PM MAIL   Вверх
Doss
Дата 6.6.2013, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



ммм да, по mr. Duda скучать стал. Раньше хоть форум был живее! smile 
PM MAIL   Вверх
Doss
Дата 7.6.2013, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



В общем то вывод "НИКАК"
PM MAIL   Вверх
Экскалупатор
Дата 8.6.2013, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 2
Всего: 24



ты можешь сохранить в сессии то что хочешь из нее получить. 
но в общем случае сервер не знает когда пользователь "покинул" сайт. он узнает если только пользователь реально послал запрос о выходе. т.е. нажан на кнопку "SignOut", к примеру. во всех остальных случаях сессиия будет умирать по таймауту.
иначе говоря, если пользователь закрыл страницу или браузер, то сессия его не закроется и продолжит жить еще какое то время(определяется в настройках, по умолчанию 20 мин).

В общем надо конкретнее определить, что считать "уходом пользователя" тогда и решения будут более конкретные, сложные или простые.

пока могу предложить

заставить браузер сказать что он закрылся

свой провайдер - пример.

HttpContext.User

Это сообщение отредактировал(а) Экскалупатор - 8.6.2013, 11:04
PM MAIL ICQ   Вверх
Doss
Дата 12.6.2013, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Да, все правильно
Код

protected void Page_Load(object sender, EventArgs e)
{
    if (User.Identity.IsAuthenticated)
    {
        Page.Title = "Home page for " + User.Identity.Name;
    }
    else
    {
        Page.Title = "Home page for guest user.";
    }
}


Это действует пока сессия жива. Но когда в  global.asax сессия умирает, то достать вообще нельзя с прежнего сайта. Да в этой случае можно осуществить запись в базу или что то иное, но со статическими данными(cookies и данные о пользователе, который аутентифицировался ( User.Identity.Name)) при уходе сессии не доступны.
Своего провайдера писать возможно стоит.
Спасибо Экскалупатор, но пока в меру своей не опытности не могу сказать, это удобно, хорошо, эффективно или иначе...
Сделал в базе время логина (входа) пользователя и время его последней активности на сайте (если он был активен более чем timeout сессии (20 минут к примеру)) то он вышел из сайте . Хотя это больше нужно для контроля входа пользователя с одного компа, чем ведения аудита о действиях пользователя.
Буду дальше решать этот вопрос, позже отпишусь о результате....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.