gpt4 book ai didi

c# - 如何从 ActionExecutingContext 获取路由模板

转载 作者:行者123 更新时间:2023-11-30 23:17:03 25 4
gpt4 key购买 nike

我需要通过 http 方法和路由模板限制对 Controller 方法的访问。如何从 context var 获取路由模板?

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();
}
}
}

关于c# - 如何从 ActionExecutingContext 获取路由模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41737093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com