#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. Однако это приведет к удалению сеанса.. Разве вы не можете просто сохранить имя пользователя вместо идентификатора сеанса?