Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC在使用操作方法之前,日志记录的代码(在流方面)在哪里_Asp.net Mvc_Logging_Asp.net Web Api_Asp.net Mvc Routing_Audit Logging - Fatal编程技术网

Asp.net mvc MVC在使用操作方法之前,日志记录的代码(在流方面)在哪里

Asp.net mvc MVC在使用操作方法之前,日志记录的代码(在流方面)在哪里,asp.net-mvc,logging,asp.net-web-api,asp.net-mvc-routing,audit-logging,Asp.net Mvc,Logging,Asp.net Web Api,Asp.net Mvc Routing,Audit Logging,我需要有关MVC流的日志记录的帮助 我有一个安全认证的Web API,人们试图访问它。由于对Web API方法的访问受到限制,一些人根本无权访问它([Authorize(roles=Admin)]和其他基于角色的属性限制访问)。但是我想记录人们访问它的尝试,即使他们没有成功 在企业应用程序中执行此操作的方法是什么?请不要含糊其辞。最正确的方法是创建一个继承ActionFilterAttribute()并重写OnActionExecuting方法的类。然后可以在Global.asax.cs中的Gl

我需要有关MVC流的日志记录的帮助

我有一个安全认证的Web API,人们试图访问它。由于对Web API方法的访问受到限制,一些人根本无权访问它(
[Authorize(roles=Admin)]
和其他基于角色的属性限制访问)。但是我想记录人们访问它的尝试,即使他们没有成功


在企业应用程序中执行此操作的方法是什么?请不要含糊其辞。

最正确的方法是创建一个继承ActionFilterAttribute()并重写OnActionExecuting方法的类。然后可以在Global.asax.cs中的GlobalFilters中注册

这将只截获实际有路由的请求。

请参阅。您需要将授权筛选器与authorize属性分开,以便向其添加行为。属性本身就有,是过滤器完成了这项工作。挂接的地方是
AuthorizeAttribute
子类中的
HandleUnauthorizedRequest
方法。可以使用装饰器模式在执行原始处理程序之前记录尝试(
filterContext.Result=new MyLogger(new-HttpUnauthorizedResult(),filterContext);
)。