2

我有一个 ASP.Net MVC3 应用程序。调用 LogIn 操作时,我使用 MembershipProvider 来验证用户并使用 FormsAuthentication 来设置 cookie。

此外,我从数据库中获取有关用户的一些信息并将其存储在 Session 中。

当用户随后访问该站点时,他们已经通过 cookie 进行了身份验证,我正在寻找可以连接的地方,以便再次从数据库中获取有关用户的信息。

HttpApplication.AuthorizeRequest() 是执行此操作的最佳位置吗?显然,每个请求都会调用它,所以我希望我可以使用一些东西来表明用户已经过身份验证——无论是在登录后明确还是在他们自动进行身份验证时。

4

1 回答 1

1

每个请求都会触发几个事件,HttpApplication.AuthorizeRequest()应该可以工作。

为了仅从数据库中获取登录用户,您可以检查仅在用户身份验证后设置的Name属性:User.Identity

if(!string.IsEmpty(User.Identity.Name))
{
 //make call to database
}
于 2013-08-16T01:13:57.747 回答