Подтвердить что ты не робот

Остановить продолжение ASP.NET MVC ActionFilter

У меня есть два пользовательских ActionFilters в действии.

В первом из фильтров action я выполняю перенаправление, если условие не выполняется (классическая авторизация). А в другом я выполняю перенаправление, если другое условие не выполняется (скажем, проверка роли).

Но я не хочу продолжать второй actionFilter, если первый не выполняется. Как это сделать?

4b9b3361

Ответ 1

Установка свойства filterContext.Result для любого непустого значения остановит выполнение более поздних фильтров. Поэтому, если ваш первый фильтр устанавливает filterContext.Result = new RedirectResult(...), второй фильтр и метод действия никогда не будут запущены. Так работает встроенный фильтр [Authorization].