我知道User.Identity.IsAuthenticated
必须为真,才能检查用户是否已通过身份验证。但是,我不确定这些属性中的哪个可以为null。所以我目前有这段代码:
if (User?.Identity?.IsAuthenticated == true)
{
// ...
}
对吗?还是可以省略任何空条件运算符?
答案 0 :(得分:2)
如果您使用的是ASP MVC(也是aspnet核心),则始终设置User.Identity。如果用户未通过身份验证,则身份将没有名称,IsAuthenticated将为false,因此您可以放心使用
if(User.Identity.IsAuthenticated)
...
答案 1 :(得分:0)
尝试:
if(User.Identity.IsAuthenticated)
{
//..
}
如果无效,则User.Identity为null。