我应该在 ASP.NET Web 窗体应用中的何处检索用户主体



假设在 ASP.NET Web 窗体应用程序中有一个相当通用的用例,我应该在哪里检索我的主体 + 标识?

我知道通常有两种方法可以做到这一点:

  • HttpContext.Current.User
  • Thread.CurrentPrincipal

我推测使用HttpContext将冒当前上下文不存在的风险(即 HttpContext.Current == null (在某些边缘情况下,但我更经常看到使用它而不是Thread.CurrentPrincipal的代码(我认为这更安全,因为它应该始终存在?

这是为什么呢?如果我选择一个或另一个,我会让自己陷入什么影响?

代表在这里嫖娼我来:)

汉塞尔曼先生已经在这里写过这个博客:http://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx

基本思想是99%的时间......它们是相同的......尽管可以改变它们。

相关内容

  • 没有找到相关文章

最新更新