HttpApplication.User.Identity在哪里更新?

时间:2012-12-08 07:55:54

标签: asp.net-mvc forms-authentication security

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

Who sets the IsAuthenticated property of the HttpContext.User.Identity

答案是

FormsAuthentication.SetAuthCookie

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

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

之类的事件
AuthenticateRequest

AuthorizeRequest

1 个答案:

答案 0 :(得分:1)

它是在事件AuthenticateRequest中设置的,请参见FormsAuthenticationModule.OnEnter AuthenticateRequest FormsAuthenticationModule.Init HttpContext.User。如果要覆盖此身份,您只需自己设置{{1}}即可。