即使没有[Authorize]属性,也会调用HandleAuthenticateAsync

时间:2019-01-18 14:30:22

标签: c# asp.net-core-mvc authorize-attribute

我使用的是自定义AuthenticationHandler,只有某些控制器方法具有[Authorize]属性。我登录到Info级别,它为 any 方法调用创建了一个日志条目。现在,我无法分辨是否有人真的尝试访问需要授权且失败的方法,或者这是对甚至不需要授权的方法的调用,而该方法由于应有的原因而失败了。

是否有一种方法可以区分它们,或者最好是在不需要时阻止MVC调用HandleAuthenticateAsync

1 个答案:

答案 0 :(得分:1)

听起来您可能滥用Property 'sum' does not exist on type 'CombinedVueInstance<Vue, object, object, object, Record<never, any>>'. 。如果用户认证失败,则不应立即拒绝访问。如果这样做,它甚至不会到达管道中的MVC上下文。

除非您有意拒绝对未经身份验证的用户的任何访问,否则您仅应进行身份验证或将其作为匿名用户传递。之后,AuthenticationHandler会加入,并检查用户是否有权访问所请求的资源。如果未通过身份验证,授权将拒绝该请求。