我在操作方法中使用了授权属性,是否需要检查用户是否经过身份验证?



下面的代码是我在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]属性也检查身份验证

相关内容

  • 没有找到相关文章

最新更新