Проблема в вызове действия после функции IActionFilter OnActionExecuting
Я использую функцию IActionFilter OnActionExecuting для некоторой проверки безопасности, но когда она вызывает ее, проверяет условие и если это условие не выполняется, я хочу перенаправить его на действие входа в систему, но проблема в том, что он также вызывает следующее действие, которое я не хочу выполнять если это условие не выполняется.
1 ответ
Решение
Это должно сделать работу:
public class MyCustomActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (someCondition)
{
var values = new RouteValueDictionary(new {
action = "index",
controller = "login"
});
filterContext.Result = new RedirectToRouteResult(values);
}
base.OnActionExecuting(filterContext);
}
}
Убедитесь, что ваш атрибут является производным от ActionFilterAttribute.