0

环境:MVC3 SqlMemberShipProvider

我加了一个空

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

在 Global.asax.cs 的 MvcApplication 类中并在那里放置一个断点。每次访问页面时都会触发它。发送者是 MvcApplication 类型,它有一个User属性和一个Context属性。

如果我没有登录,则UserContext .User 为空。

如果我已登录,则UserContext .User 将设置为包含我登录名的 GenericPrincipal。

因此,似乎 SqlMemberShipProvider (如果不是谁)正在设置 User 对象。我可以知道这是如何/在哪里完成的吗?

谢谢。

4

1 回答 1

0

我猜您正在使用 Membership 和 FormsAuthentication?也许与登录控制一起?如果您使用的是 FormsAuthentication,那么它会FormsAuthenticationModule从浏览器读取身份 cookie,然后IPrincipal从该 cookie 构造对象。

于 2012-03-30T14:45:04.583 回答