Поскольку он не поддерживается изначально, каков рекомендуемый способ реализации глобальных фильтров для отдельных областей?
Глобальные фильтры по площади в MVC 3
Ответы (2)
Вы можете использовать собственный IFilterProvider.
person
Darin Dimitrov
schedule
18.04.2011
Это должно сработать! Хорошая мысль
- person Richard Szalay; 18.04.2011
Причина, по которой он не поддерживается изначально, заключается в том, что мы хотим отговорить разработчиков от этого. Области не связаны с контроллерами; они связаны с маршрутами. Мы хотели отговорить разработчиков от попыток применить фильтры авторизации или другие фильтры, чувствительные к безопасности, к областям, поскольку их можно обойти.
См. Как можем ли мы установить авторизацию для всей области в ASP.NET MVC? для получения дополнительной информации.
person
Levi
schedule
20.04.2011
Для обновления MVC 4 см. blogs.msdn.com/b/rickandy/archive/2012/03/23/
- person RickAndMSFT; 24.03.2012
Области не связаны с контроллерами - забавно, что я вижу папку контроллеров в каждой области. Контроллеры всегда связаны с областью: либо с корневой областью, либо с настраиваемой областью. Так что я не согласен. Типичным примером областей является создание области администратора - угадайте, какой фильтр вы хотите применить глобально только к этой области.
- person Quango; 24.01.2013
@Quango Ваше предположение неверно. См. Также мой ответ на stackoverflow.com/questions/2319157/, что демонстрирует, что контроллеры не принадлежат областям.
- person Levi; 25.01.2013
Спасибо за объяснение: теперь я лучше понимаю, что вы имеете в виду, и снимаю свой предыдущий комментарий. Похоже, что фабрика контроллеров слишком помогает в согласовании вещей.
- person Quango; 25.01.2013
ActionFilters
? - person Sergi Papaseit   schedule 18.04.2011ActionFilters
являются конкретной реализацией более широкогоIFilter
- person Richard Szalay   schedule 18.04.2011