Я использую атрибут фильтра сервиса в контроллере. Из сервисного фильтра я назвал фильтр действий, а внутри фильтра действий я выполняю такие методы действий, как OnActionExecution
.
В моем случае передается параметр от контроллера. Используя этот параметр, мне нужно выполнить необходимые действия в классе фильтра действий.
Контроллер
[HasPermission(1)]
public async Task<ActionResult> GetDetailsAsync()
{
-----
}
Сервисный фильтр
public class HasPermissionAttribute : ServiceFilterAttribute
{
public HasPermissionAttribute()
: base(typeof(HasPermissionAsyncFilter))
{
}
}
Фильтр действий
public class HasPermissionAsyncFilter : IAsyncActionFilter
{
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
-------------Need to use the values passed from the attribute-------
}
}
Примечание:
Необходимо передать значения в атрибуте
HasPermission (1)
HasPermission (2)
Как это ......