代码之家  ›  专栏  ›  技术社区  ›  lenny

甚至在没有[Authorize]属性的情况下调用handleAuthenticationAsync

  •  2
  • lenny  · 技术社区  · 7 年前

    我用的是定制的 AuthenticationHandler [Authorize] 方法调用。现在我无法区分是否有人真的尝试访问一个需要授权的方法,但失败了,或者是调用了一个甚至不需要授权的方法,但失败了,因为它应该这样做。

    有没有办法区分它们,或者最好不要让MVC打电话 HandleAuthenticateAsync 不需要的时候?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Imantas    7 年前

    听起来你可能误用了这个词 AuthenticationHandler . 如果用户未能进行身份验证,则不应立即拒绝访问。如果这样做,它甚至不会到达管道中的MVC上下文。

    除非您有意拒绝对未经身份验证的用户的任何访问,否则您应该仅以匿名用户身份进行身份验证或传递。在那之后的某个时刻 AuthorizeAttribute 将启动并检查用户是否有权访问请求的资源。如果他未经认证,授权将拒绝该请求。