Как получить RouteData.Values ​​["action"]. ToString () из атрибута пользователя - PullRequest
0 голосов
/ 11 февраля 2020
    [CheckAccessMethod(RouteData.Values["action"].ToString())]
    [HttpGet]
    public IActionResult Get(){...}

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

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

    }

Я не могу получить текущий маршрут запроса. Я хочу создать метод доступа logi c для пользователей

1 Ответ

0 голосов
/ 11 февраля 2020

Одним из вариантов будет использование ActionFilterAttribute, тогда у вас будет доступ к ResultExecutingContext, в котором есть нужные вам данные маршрута. Больше информации здесь

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

         base.OnResultExecuting(context);
     }
 }
...