В ASP.NET MVC IAuthorizationFilter будет выполняться перед любыми другими фильтрами и методами действий. Так уместно ли реализовать IAuthorizationFilter для некоторых сценариев, когда некоторая логика проверки и анализа входящего HttpRequest должна быть выполнена до запуска любой другой логики? Или IAuthorizationFilter следует использовать только для логики, связанной с авторизацией, тогда какие другие способы я должен использовать для этого?
Использование ASP.NET MVC IAuthorizationFilter
Ответы (2)
Не рекомендуется использовать IAuthorizationFilter для чего-либо, кроме авторизации. Вы можете просто создать глобальный фильтр с порядком, чтобы ваш фильтр мог выполняться перед любыми другими фильтрами действий.
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new SpecialFilterAttribute(), 1);
filters.Add(new LogFilter(), 2);
}
Вот другой SO вопрос, связанный с Это
person
pjobs
schedule
02.05.2015
Фильтры авторизации следует использовать только для авторизации. Для разных целей существуют разные фильтры. Вы должны создать свой собственный, унаследовав правильный тип. https://msdn.microsoft.com/en-us/library/gg416513(VS.98).aspx
Я не буду предлагать применять фильтры авторизации для каждого действия вашего приложения, лучше применить их на уровне контроллера или действия, просто выполнив что-то вроде [AllowUserWithPermissions("ManageScenarious")].
person
Lyubomir Velchev
schedule
02.05.2015