получить сеанс по идентификатору

#asp.net #asp.net-mvc #session #authentication

#asp.net #asp.net-mvc #сеанс #аутентификация

Вопрос:

В настоящее время я работаю над системой аутентификации и членства для моего веб-приложения. Он лицензирован для нескольких пользователей, которые могут войти в систему одновременно.

Итак, я придумал концепцию, согласно которой я создам таблицу activeUsers, где я буду хранить информацию о зарегистрированных пользователях с идентификаторами их сеансов.

Прежде чем новый пользователь сможет войти в систему, приложение проверит эту таблицу и получит все SID, затем оно проверит, существует ли конкретный сеанс на сервере. В противном случае запись в таблице будет удалена.

Мой вопрос: есть ли способ проверить, существует ли сеанс с определенным идентификатором на сервере?

Потому что HttpContext.Current.Сеанс влияет только на текущего пользователя.

Ответ №1:

В Global.asax есть целая куча отличных событий, которые вы, вероятно, можете использовать для удаления строки. Проверьте, например, Session_OnEnd().

http://msdn.microsoft.com/en-us/library/ms178583.aspx

Редактировать: Только что заметил, что это действительно не отвечает на вопрос…

Комментарии:

1. Однако это приведет к удалению сеанса.. Разве вы не можете просто сохранить имя пользователя вместо идентификатора сеанса?