在IAuthorizationFilter MVC中,ASP.NET将在之前运行任何其他过滤器和操作方法。那么,对于某些需要在运行其他逻辑之前执行检查和分析传入HttpRequest的逻辑的场景,实现HttpRequest是否合适呢?或者IAuthorizationFilter应该只用于授权相关的逻辑,那么我应该采取什么其他的方法呢?
发布于 2015-05-02 04:33:09
除了授权之外,使用IAuthorizationFilter进行任何事情都不是一个好主意。您可以按顺序创建一个全局筛选器,这样您的筛选器就可以在任何其他操作筛选器之前执行。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new SpecialFilterAttribute(), 1);
filters.Add(new LogFilter(), 2);
}这是另一个,所以question与它相关
发布于 2015-05-02 05:56:13
授权过滤器只能用于授权。为了不同的目的,有不同的过滤器。您必须通过继承正确的类型来创建自己的类型。https://msdn.microsoft.com/en-us/library/gg416513(VS.98).aspx
我不会建议对应用程序的每一个动作应用授权过滤器,最好在控制器或操作级别上应用它们,只需做一些类似于AllowUserWithPermissions("ManageScenarious")的事情。
https://stackoverflow.com/questions/29998080
复制相似问题