我一直在使用ASP.NET MVC做一些事情,但我想知道User.Identity.IsAuthenticated有什么用 - 在我信任User.Identity.Name之前我总是需要检查这个,或者是在这种情况下,IsAuthenticated无用吗?
我应该这样做:
public string GetUserName()
{
if (User.Identity.IsAuthenticated)
return User.Identity.Name;
else
return null;
}
或者会:
public string GetUserName()
{
return User.Identity.Name;
}
好吗?我通常使用第一种方式(检查只是为了确定),但我从来没有真正理解是否有必要(据我所知,默认的MVC 5模板只检查它本质上是否用户登录)。
谢谢!
答案 0 :(得分:0)
对于匿名用户(User.Identity.IsAuthenticated == false
),User.Identity.Name
将返回一个空字符串,因此您可能不需要检查,除非您确实要从方法中返回null
现在,如果User.Identity.IsAuthenticated == false
在给定页面上发生,则完全取决于您在应用程序中实现身份验证的方式。