下面的代码是我在Core 3中的操作方法 Asp.Net。
[HttpGet]
[Authorize]
public async Task<IActionResult> Info()
{
if (!User.Identity.IsAuthenticated) /// Is this need?
{
return BadRequest("Un Authorized Access");
}
}
我在方法上使用了Authorize
属性。我需要再次检查用户的身份验证吗User.Identity.IsAuthenticated
?
您应该了解"身份验证与授权"之间的区别,请参阅 https://stackoverflow.com/a/6556548/2219991
您发布的代码是不够的,因为在某些情况下,即使用户未经过身份验证,也满足授权要求。
我的答案是错误的,请查看 Joe 的评论并指出 https://github.com/aspnet/AspNetWebStack/blob/master/src/System.Web.Http/AuthorizeAttribute.cs[Authorize]
属性也检查身份验证