首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP .NET: Thread.CurrentPrincipal在customErrors包含redirectMode="ResponseRewrite“时丢失

ASP .NET: Thread.CurrentPrincipal在customErrors包含redirectMode="ResponseRewrite“时丢失
EN

Stack Overflow用户
提问于 2010-09-23 02:53:58
回答 1查看 762关注 0票数 1

我在一个处理Authentication_Request的模块中设置了我的自定义主体。然后我将其设置为HttpContext.User。这就设置了我的HttpContext.User和Thread.CurrentPrincipal。现在,当出现错误并且customErrors部分包含"ResponseRewrite“时,在我的ASPX错误页面上,Thread.CurrentPrincipal被重置为通用主体,但我的HttpContext.User仍然包含我的自定义主体。如果customErrors部分包含"ResponseRedirect“,则不会发生这种情况。这是预期的行为吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-02 20:30:07

我怀疑服务器正在启动一个单独的线程来执行错误页面。您可以通过将以下内容放入您的Global.asax中来重置它(Thread.CurrentPrincipal)。

代码语言:javascript
复制
  protected void Application_AuthenticateRequest(object sender, EventArgs e) {
        Thread.CurrentPrincipal = HttpContext.Current.User;
  }

这一行将确保两者在对应用程序的每个请求上都是同步的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3772663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档