【发布时间】:2019-01-18 14:30:21
【问题描述】:
我正在使用自定义 AuthenticationHandler,并且只有一些控制器方法具有 [Authorize] 属性。我登录 Info 级别,它会为 any 方法调用创建一个日志条目。现在我无法区分是否有人真的尝试访问需要授权的方法但失败了,或者它是否是对甚至不需要授权的方法的调用并且它失败了,因为它应该这样做。
有没有办法将它们区分开来,或者最好阻止 MVC 在不需要时调用 HandleAuthenticateAsync?
【问题讨论】:
-
我也面临同样的问题,那么究竟什么对你有用。
-
@Satindersingh 看一下Authentication和Authorization的区别。我不得不切换到授权,因为我所做的更多的是授权而不是身份验证。
-
有点晚了。但我通过在 HandleAuthenticateAsynce var endpoint= Context.GetEndPoint(); 开头添加检查解决了这个问题if(endpoint.Metadata.GetMetadata
() = null) { return AuthenticateResult.NoResult();如果有 AllowAnonymous 或没有 Authorize 属性,想法是立即返回 No result
标签: c# asp.net-core-mvc authorize-attribute