Остановить продолжение ASP.NET MVC ActionFilter
У меня есть два пользовательских ActionFilters в действии.
В первом из фильтров action я выполняю перенаправление, если условие не выполняется (классическая авторизация). А в другом я выполняю перенаправление, если другое условие не выполняется (скажем, проверка роли).
Но я не хочу продолжать второй actionFilter, если первый не выполняется. Как это сделать?
Ответы
Ответ 1
Установка свойства filterContext.Result
для любого непустого значения остановит выполнение более поздних фильтров. Поэтому, если ваш первый фильтр устанавливает filterContext.Result = new RedirectResult(...)
, второй фильтр и метод действия никогда не будут запущены. Так работает встроенный фильтр [Authorization]
.