FluentFilters помогает вам реализовать функциональность глобальных фильтров в ASP.NET MVC приложении с возможностью фильтрации по контроллерам и действиям контроллеров.
Разработчики OXITE реализовали собственную систему глобальных фильтров, немного похожую на FluentFilters. За исключением механизма фильтрации по контроллерам и действиям. В FluentFilters, приходится жестко прописывать названия контроллеров и действий в условии фильтра:
fluentFilters.Add<TestActionFilterAttribute>(a => {
a.Require(new ControllerFilterCriteria("Admin")).Or(new ControllerFilterCriteria("Manager"));
a.Exclude(new ControllerFilterCriteria("Manager")).And(new ActionFilterCriteria("Index"));
});
...а в OXITE это элегантно работает через MethodInfo и, само собой, проходит проверку на стадии компиляции приложения:
ControllerActionFilterCriteria adminActionsCriteria = new ControllerActionFilterCriteria();
adminActionsCriteria.AddMethod<BlogController>(a => a.Find());
adminActionsCriteria.AddMethod<BlogController>(a => a.FindQuery(null));
adminActionsCriteria.AddMethod<BlogController>(a => a.ItemEdit(null));
adminActionsCriteria.AddMethod<BlogController>(a => a.ItemSave(null, null));
adminActionsCriteria.AddMethod<PostController>(p => p.Add(null, null));