C# 如何从ActionExecutingContext获取路由模板
我需要通过http方法和路由模板限制对控制器方法的访问。如何从contextvar获取路由模板C# 如何从ActionExecutingContext获取路由模板,c#,asp.net-web-api,asp.net-core,asp.net-core-webapi,C#,Asp.net Web Api,Asp.net Core,Asp.net Core Webapi,我需要通过http方法和路由模板限制对控制器方法的访问。如何从contextvar获取路由模板 public abstract class BaseController : Controller { public override void OnActionExecuting(ActionExecutingContext context) { string apiKey = context.HttpContext.Request.Headers[
public abstract class BaseController : Controller
{
public override void OnActionExecuting(ActionExecutingContext context)
{
string apiKey = context.HttpContext.Request.Headers["key"];
string httpMethod = context.HttpContext.Request.Method.ToUpper();
string routeTemplate = context. ???
if (CheckAccess(apiKey, httpMethod , routeTemplate))
{
context.Result = Forbid();
}
}
}
我已经解决了这个问题
public abstract class BaseController : Controller
{
public override void OnActionExecuting(ActionExecutingContext context)
{
string apiKey = context.HttpContext.Request.Headers["key"];
string httpMethod = context.HttpContext.Request.Method.ToUpper();
string routeTemplate =context.ActionDescriptor.AttributeRouteInfo.Template;
if (CheckAccess(apiKey, httpMethod , routeTemplate))
{
context.Result = Forbid();
}
}
}