Общее событие входа в систему ASP.Net MVC3 FormsAuthentication
У меня есть приложение ASP.Net MVC3. Когда вызывается действие LogIn, я использую MembershipProvider для проверки пользователя и FormsAuthentication для установки cookie.
Кроме того, я получаю некоторую информацию о пользователе из базы данных и сохраняю ее в сеансе.
Когда пользователь впоследствии посещает сайт, он уже проходит проверку подлинности с помощью cookie-файла, и я ищу где-нибудь, чтобы подключиться, чтобы я мог снова получить информацию о пользователе из базы данных.
Является ли HttpApplication.AuthorizeRequest() лучшим местом для этого? Очевидно, это вызывается для каждого запроса, поэтому я надеялся, что я мог использовать что-то, что просто указывало на то, что пользователь был аутентифицирован - либо явно после входа в систему, либо когда они аутентифицируются автоматически.
1 ответ
Есть несколько событий, которые запускаются при каждом запросе, HttpApplication.AuthorizeRequest()
должно сработать.
Чтобы получать данные из базы данных только для зарегистрированных пользователей, вы можете проверить Name
собственностью User.Identity
который устанавливается только после аутентификации пользователя:
if(!string.IsEmpty(User.Identity.Name))
{
//make call to database
}