我在我的ASP.NET应用程序中使用以下方法进行表单身份验证。
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
我该如何检查用户是否已登录?以及如何获取已登录用户的用户名?
我在我的ASP.NET应用程序中使用以下方法进行表单身份验证。
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
我该如何检查用户是否已登录?以及如何获取已登录用户的用户名?
我成功找到了正确的答案,它在下面。
bool val1 = System.Web.HttpContext.Current.User.Identity.IsAuthenticated
编辑
此次编辑的功劳归功于@Gianpiero Caretti,他在评论中提出了这个建议。
bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated
最简单的方法:
if (Request.IsAuthenticated) ...
User.Identity.IsAuthenticated
相同。 - Yolaif (User.Identity.IsAuthenticated)
{
Page.Title = "Home page for " + User.Identity.Name;
}
else
{
Page.Title = "Home page for guest user.";
}
检查用户是否已通过身份验证的最简单方法是使用Request.User.IsAuthenticated
(我记得是这样的)。
User?.Identity.IsAuthenticated == true
。它的意思是:如果"User"不为null并且用户已经通过身份验证,则返回true。 - bradlis7User?.Identity.IsAuthenticated ?? false
,但 @bradlis7 的代码可能更易读。 - Michael(User?.Identity.IsAuthenticated).GetValueOrDefault()
: - Stacey