ASP.NET核心身份:[授权]和用户空检查之间的区别?

ASP.NET Core Identity: Difference between [Authorize] and user null check?

如果授权中间件有 [Authorize] 注解,为什么 Identity 脚手架使用用户空检查 if(user==null)?空检查是否比授权更安全?

var user = _userManager.GetUser(User);
if(user == null)
{
   return NotFound("User not found");
}
[Authorize]
public class TestModel : PageModel
{
}

authorize 写起来不省工夫吗?

如果代码通过 [Authorize],则用户永远不会 null。 在这种类型的身份验证成为现实之前,有些人错误地这样做了,因为他们已经习惯了。