为什么 ASP.NET 母版页上的 Context.User 现在为 null?

发布于 2024-07-23 07:28:08 字数 556 浏览 5 评论 0原文

我刚刚切换到新的 ASP.NET 主机,它的行为似乎有所不同。 在母版页的代码中,它也尝试通过此方法为经过身份验证的用户执行一些不同的逻辑。

if (Context.User.IsAuthenticated) {
}

但 Context.User 对象为空。 但它仅在母版页上为空。 如果我在常规页面上使用它,它就可以工作。

if (User.IsAuthenticated) {
}

有谁知道问题可能是什么? 我可能对托管环境没有太多控制权,但是是否有其他方法可以在母版页中获取此信息?

附加信息

似乎 Context.User 或 Page.User 对象在

  • Dashboard.aspx(使用母版页 Page.master)和
  • Page.master

中不为 null

  • 中均为 null,但在TestUser .aspx(不使用任何母版页)

I just swiched to a new ASP.NET host and it seems it is behaving differently. In the code for the master page it is attempting too do some different logic for authenticated users by this.

if (Context.User.IsAuthenticated) {
}

But the Context.User object is null. But it's only null on the master page. If I use it on the regular page it works.

if (User.IsAuthenticated) {
}

Does anyone have any idea what the problem might be? I might not have much control over the hosting environment but is there a different way I can get this information in the master page?

ADDITIONAL INFORMATION:

It seems that the Context.User or Page.User object is null in both

  • Dashboard.aspx (which users the master page Page.master) AND
  • Page.master

But it is not null in

  • TestUser.aspx (which does not use any master page)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉世弥音 2024-07-30 07:28:08

为什么不在

Page.User.IsAuthenticated

母版页上使用:?

Why don't you use:

Page.User.IsAuthenticated

on the master page?

如果没有 2024-07-30 07:28:08

试试这个:
HttpContext.Current.User.Identity.IsAuthenticated

try this One:
HttpContext.Current.User.Identity.IsAuthenticated

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文