Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查用户是否为;“登录”吗;?_C#_Asp.net_Forms Authentication - Fatal编程技术网

C# 如何检查用户是否为;“登录”吗;?

C# 如何检查用户是否为;“登录”吗;?,c#,asp.net,forms-authentication,C#,Asp.net,Forms Authentication,我在我的ASP.NET应用程序中使用以下方法进行表单身份验证 FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true); 如何检查用户是否已登录?如何获取登录用户的用户名?检查他们是否经过身份验证的最简单方法是Request.user.IsAuthenticated(从内存中)我想我找到了正确的用户名。它在下面 bool val1 = System.Web.HttpContext.Current.User.Identit

我在我的ASP.NET应用程序中使用以下方法进行表单身份验证

FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);

如何检查用户是否已登录?如何获取登录用户的用户名?

检查他们是否经过身份验证的最简单方法是
Request.user.IsAuthenticated
(从内存中)我想我找到了正确的用户名。它在下面

bool val1 = System.Web.HttpContext.Current.User.Identity.IsAuthenticated
编辑

这篇编辑的功劳归于在评论中提出这一建议的人

bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated
最简单的方法是:

if (Request.IsAuthenticated) ...

“Request.LogonUserIdentity”类给出了所有这些方法和属性。谢谢你的提示,不要留胡子。这将显示windows帐户是否已登录。即使您的cookies被删除,您也可以看到窗口帐户和登录名的用户名。这个对我有用。“bool val1=System.Web.HttpContext.Current.User.Identity.IsAuthenticated”只是为更安全的代码做了一点修改:bool val1=(System.Web.HttpContext.Current.User!=null)和&System.Web.HttpContext.Current.User.Identity.IsAuthenticated在较新版本的C#中,您可以使用
User?.Identity.IsAuthenticated==true
。或
User?.Identity.IsAuthenticated??false
,但是@bradlis7的代码可能更容易阅读。或者
(User?.Identity.IsAuthenticated)。GetValueOrDefault()
看到这种方法没有那么多的升级投票,使用这种方法时有什么缺点/问题需要注意吗?我决定使用它,到目前为止,它似乎很有效。它几乎与最受欢迎的答案相同,但我们这里没有使用名称空间。它与
User.Identity.IsAuthenticated
if (User.Identity.IsAuthenticated)
{
    Page.Title = "Home page for " + User.Identity.Name;
}
else
{
    Page.Title = "Home page for guest user.";
}