1

看似重复的问题,但没有详细回答。好吧,至少我不相信它是。

谁设置了 HttpContext.User.Identity 的 IsAuthenticated 属性

答案是

FormsAuthentication.SetAuthCookie

但我反编译了 System.Web.Security FormsAuthenication 类。它调用 GetAuthCookie 并将其添加到响应中。

我期待它在下一个请求时找到会话 Cookie 而不是在 FormsAuthentication 中,如“正确答案”所述。我搜索了完整的反编译源,但没有找到对 IPrincipal 的引用。有人真的知道吗?我可以用和 Event. 触发这个过程吗?我注意到诸如

AuthenticateRequest

AuthorizeRequest

4

1 回答 1

1

它被设置在 event 中AuthenticateRequest,看看FormsAuthenticationModule.OnEnter哪个绑定到AuthenticateRequestby FormsAuthenticationModule.Init。如果想覆盖这个身份,你可以简单地HttpContext.User自己设置。

于 2012-12-08T22:56:38.360 回答