Audit.net 使用全局操作过滤器忽略 Http Get 方法
Audit.net ignoring Http Get methods with a global action filter
我正在使用 Audit.net 来审核所有 .net 核心 Web API 请求。我想使用全局操作过滤器来审核所有 HTTP 请求,但不想审核 HTTP GET 方法。在配置 AddAuditFilter 时,我可以使用 LogActionIf 过滤器有条件地记录操作,但无法设置条件来检查此操作是否与 Http Get 相关。知道如何添加条件过滤器吗?我指的是以下配置:
mvc.AddAuditFilter(config => config
.LogActionIf(d => d.ControllerName == "Orders" && d.ActionName != "GetOrder")
.WithEventType("{verb}.{controller}.{action}")
.IncludeHeaders(ctx => !ctx.ModelState.IsValid)
.IncludeRequestBody()
.IncludeModelState()
.IncludeResponseBody(ctx => ctx.HttpContext.Response.StatusCode == 200));
如果使用 LogRequestIf
以 HttpRequest
作为参数呢:
mvc.AddAuditFilter(config => config
.LogRequestIf(r => r.Method != "GET") // <-- This
.WithEventType("{verb}.{controller}.{action}")
.IncludeHeaders(ctx => !ctx.ModelState.IsValid)
.IncludeRequestBody()
.IncludeModelState()
.IncludeResponseBody(ctx => ctx.HttpContext.Response.StatusCode == 200));
我正在使用 Audit.net 来审核所有 .net 核心 Web API 请求。我想使用全局操作过滤器来审核所有 HTTP 请求,但不想审核 HTTP GET 方法。在配置 AddAuditFilter 时,我可以使用 LogActionIf 过滤器有条件地记录操作,但无法设置条件来检查此操作是否与 Http Get 相关。知道如何添加条件过滤器吗?我指的是以下配置:
mvc.AddAuditFilter(config => config
.LogActionIf(d => d.ControllerName == "Orders" && d.ActionName != "GetOrder")
.WithEventType("{verb}.{controller}.{action}")
.IncludeHeaders(ctx => !ctx.ModelState.IsValid)
.IncludeRequestBody()
.IncludeModelState()
.IncludeResponseBody(ctx => ctx.HttpContext.Response.StatusCode == 200));
如果使用 LogRequestIf
以 HttpRequest
作为参数呢:
mvc.AddAuditFilter(config => config
.LogRequestIf(r => r.Method != "GET") // <-- This
.WithEventType("{verb}.{controller}.{action}")
.IncludeHeaders(ctx => !ctx.ModelState.IsValid)
.IncludeRequestBody()
.IncludeModelState()
.IncludeResponseBody(ctx => ctx.HttpContext.Response.StatusCode == 200));