[英]how to get a template of route from ActionExecutingContext
我需要通過 http 方法和路由模板來限制對控制器方法的訪問。 如何從上下文變量中獲取路由模板?
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();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.