从AuthorizationHandlerContext对象获取控制器和操作名称

fle*_*xit 9 asp.net asp.net-mvc access-control asp.net-core

嗨,我有一个自定义需求处理程序,接受AuthorizationHandlerContext context参数

当我调试时,我可以看到上下文对象包含Context.Resources.ActionDescription.ActionName

但是在编写代码时我不能超越Context.Resources

似乎较低的水平没有暴露.我想获取调用处理程序的操作名称和控制器名称.我该怎么做呢?

ade*_*lin 16

var mvcContext = context.Resource as AuthorizationFilterContext;
var descriptor = mvcContext?.ActionDescriptor as ControllerActionDescriptor;
if (descriptor != null)
{
    var actionName = descriptor.ActionName;
    var ctrlName = descriptor.ControllerName;      
}
Run Code Online (Sandbox Code Playgroud)

  • 您如何获得实际实例,而不仅仅是操作和控制器的名称? (3认同)