【问题标题】:How to get RouteData.Values["action"].ToString() from User Attribute如何从用户属性中获取 RouteData.Values["action"].ToString()
【发布时间】:2020-02-11 11:47:20
【问题描述】:
    [CheckAccessMethod(RouteData.Values["action"].ToString())]
    [HttpGet]
    public IActionResult Get(){...}

    class CheckAccessMethodAttribute : Attribute
    {
         string MethodName { get; set; }

        public  CheckAccessMethodAttribute(string methodName)
        {
            MethodName = methodName;
        }

    }

我无法获取当前请求路由。 我想为用户创建方法访问逻辑

【问题讨论】:

    标签: c# .net-core asp.net-core-webapi routedata


    【解决方案1】:

    一种选择是使用 ActionFilterAttribute,然后您就可以访问 ResultExecutingContext ,其中包含您需要的路由数据。 More information here

    public class MyActionFilterAttribute : ActionFilterAttribute
    {
         public override void OnResultExecuting(ResultExecutingContext context)
         {
             var action = context.RouteData.Values["action"];
             //do something with action here
    
             base.OnResultExecuting(context);
         }
     }
    

    【讨论】:

    • 感谢您的帮助,非常感谢。
    猜你喜欢
    • 2018-08-02
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2017-08-12
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多