环境:MVC3 SqlMemberShipProvider
我添加了一个空
public void Application_AuthenticateRequest(object sender, EventArgs e) {}
在Global.asax.cs的MvcApplication类中,并在那里放置一个断点。它在每个页面访问时被触发。发件人属于MvcApplication类型,其具有用户属性和上下文属性。
如果我未登录,则用户和上下文。用户为空。
如果我已登录,则用户和上下文。用户设置为包含我登录名称的GenericPrincipal。
所以似乎SqlMemberShipProvider(如果不是谁)正在设置User对象。我可以知道这是怎么做到的?
感谢。
答案 0 :(得分:0)
我猜您正在使用Membership与FormsAuthentication一起使用?
也许与登录控制一起?
如果您正在使用FormsAuthentication,则FormsAuthenticationModule
从浏览器读取标识cookie,然后从该cookie构造IPrincipal
对象。