Asp.net уничтожить сессию с помощью sessionid - PullRequest
1 голос
/ 13 февраля 2012

Когда один пользователь входит в мой сайт, у этого пользователя есть сеанс [sessionid like: xxxx-xxxx-xxxx-xx], когда он снова входит в систему в другом месте, у него возникает другой сеанс [sessionid like: yyyy-yyyy-yy-yyy ] КАК Я МОГУ УНИЧТОЖИТЬ ПРЕДЫДУЩУЮ СЕССИЮ [sessionid like: xxxx-xxxx-xxxx-xx], после того как он снова войдет в систему с сеансом [sessionid like: гггггггггггггг].

Уничтожить одну сессию в другой сессии! Это возможно? Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 12 ноября 2014

Похоже, что в этом запросе много путаницы.Я полагаю, что этот человек хочет знать, как предотвратить одновременные пользовательские сеансы.

Предлагаемый метод: когда пользователь успешно входит в систему, активируйте новые пользовательские сеансы и оставьте любые другие существующие активные сеансы для пользователя.

Мое решение:

  1. После входа в систему сохраните SessionID в базе данных, привязанной к учетной записи пользователя
  2. в файле Master Site (или в любом файле, которым вы можете поделиться свсе страницы вашего сайта), сравните текущий SessionID (HttpContext.Current.Session.SessionID) с сохраненным SessionID.
  3. Если два не совпадают, отмените сеанс (Session.Abandon).

Это простое решение, но оно должно решить проблему.

0 голосов
/ 13 февраля 2012

не беспокойтесь об этом, если вы беспокоитесь, значит, ваш дизайн приложения плохой.

поместите регистратор в Global.asax в событии Session_End, и вы сможете отслеживать закрытие неиспользуемых сессий, читая файл журнала.

...