在ASP.NET MVC中放置过滤器,属性和扩展的位置

时间:2011-05-19 21:11:18

标签: asp.net-mvc-3

我刚读完Rick Anderson关于保护你ASP.NET MVC application的文章。在文章中,他谈到了创建新的过滤器属性。

public class LogonAuthorize : AuthorizeAttribute 
{
     public override void OnAuthorization(AuthorizationContext filterContext) 
     {
         if (!(filterContext.Controller is AccountController))
             base.OnAuthorization(filterContext);
     }
}

using System;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class AllowAnonymousAttribute : Attribute { }

我的问题是,组织这些过滤器和属性的最佳方法是什么?我是否为每个人创建一个新的类文件?我是否为所有过滤器和属性创建了一个类文件?放在哪里最好的地方?在根文件夹中?在子文件夹中?

1 个答案:

答案 0 :(得分:3)

我们有一个MVCFilters目录,每个属性过滤器都有自己的类。

如果我们开始创建大量自定义过滤器,我们可能会将它们分解为安全性以及我们拥有的其他任何子目录。