gpt4 book ai didi

c# - 是否 (HttpContext.Current.User != null) 足以假设 FormsAuthentication 已对用户进行身份验证

转载 作者:可可西里 更新时间:2023-11-01 03:14:05 25 4
gpt4 key购买 nike

在 ASP.NET (2.0) 应用程序中,我使用 FormsAuthentication。

在 Global.asax/Application_AuthenticateRequest 方法中,我检查 HttpContext.Current.User 是否为空。

这是否足以了解表单例份验证 cookie 是否存在、票证是否过期以及表单例份验证机制是否已完成验证用户的工作?

我需要这个,因为我在该应用程序中有某些页面,有时不需要访问身份验证(基于某些条件),我将它们放在 web.config 中的单独“位置”指令中,以便将它们从“捕获所有”表单例份验证中排除。

即我正在尝试检查 Application_AuthenticateRequest 在此“位置”访问的页面是否需要保护,如果是,则了解用户是否已经通过身份验证,或者我需要重定向到登录。

编辑:如答案所示,我很可能会选择 IsAuthenticated。为了让我更好地理解它,这里有 2 个奖励问题 :)(请编辑其他答案以添加这些,谢谢):

  1. 我可以假设如果 IsAuthenticated 为真,那么 HttpContext.Current.User 肯定会包含经过身份验证的用户的用户名吗?

  2. 如果强制执行 FormsAuthentication,并且只有少数页面被“位置”指令排除,我如何才能在 HttpContext.Current.User 中得到“匿名用户”?

最佳答案

不,User 可能只是对匿名用户的引用。检查HttpContext.Current.Request.IsAuthenticated .

关于c# - 是否 (HttpContext.Current.User != null) 足以假设 FormsAuthentication 已对用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com