Я нашел много ответов о том, как предотвратить выполнение действий с помощью фильтров действий. Но мой вопрос немного отличается от других. Начиная с этого SO я понимаю, что атрибуты только извлекают метаданные, но не участвуют в процессе выполнения.
Тогда как
filterContext.Result = new EmptyResult();
запретить выполнение действия в Mvc