Вопрос

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top