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