哪里可以设置HttpContext.User?

时间:2012-03-30 14:32:46

标签: asp.net-mvc-3 sqlmembershipprovider custom-membershipprovider

环境:MVC3 SqlMemberShipProvider

我添加了一个空

public void Application_AuthenticateRequest(object sender, EventArgs e) {}

在Global.asax.cs的MvcApplication类中,并在那里放置一个断点。它在每个页面访问时被触发。发件人属于MvcApplication类型,其具有用户属性和上下文属性。

如果我未登录,则用户上下文。用户为空。

如果我已登录,则用户上下文。用户设置为包含我登录名称的GenericPrincipal。

所以似乎SqlMemberShipProvider(如果不是谁)正在设置User对象。我可以知道这是怎么做到的?

感谢。

1 个答案:

答案 0 :(得分:0)

我猜您正在使用Membership与FormsAuthentication一起使用? 也许与登录控制一起? 如果您正在使用FormsAuthentication,则FormsAuthenticationModule从浏览器读取标识cookie,然后从该cookie构造IPrincipal对象。