如何检查用户是否在ASP.NET Core中已通过身份验证

时间:2020-03-03 08:35:49

标签: c# asp.net-core

我知道User.Identity.IsAuthenticated必须为真,才能检查用户是否已通过身份验证。但是,我不确定这些属性中的哪个可以为null。所以我目前有这段代码:

if (User?.Identity?.IsAuthenticated == true)
{
    // ...
}

对吗?还是可以省略任何空条件运算符?

2 个答案:

答案 0 :(得分:2)

如果您使用的是ASP MVC(也是aspnet核心),则始终设置User.Identity。如果用户未通过身份验证,则身份将没有名称,IsAuthenticated将为false,因此您可以放心使用

if(User.Identity.IsAuthenticated)
...

答案 1 :(得分:0)

尝试:

if(User.Identity.IsAuthenticated)
{
    //..
}

如果无效,则User.Identity为null。