为什么 ASP.NET 母版页上的 Context.User 现在为 null?
我刚刚切换到新的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不在
母版页上使用:?
Why don't you use:
on the master page?
试试这个:
HttpContext.Current.User.Identity.IsAuthenticated
try this One:
HttpContext.Current.User.Identity.IsAuthenticated