2011-05-19 73 views
2

我刚读完里克安德森的文章关于保护您的ASP.NET MVC application。在文章中他谈到了创建新的过滤器属性。在哪里把过滤器,属性和扩展在ASP.NET MVC

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 { } 

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

回答

3

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

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

+0

我从文章中下载了样本,并且按照您的描述进行了操作。谢谢! – atbebtg 2011-05-20 14:17:15

+0

如果我使用该区域,并创建在区域中使用的自定义过滤器,那么MVCFilters direcory存在于根区域还是此区域? – 2014-10-15 20:34:24

+0

如果它的地区特定它在该地区。 – 2014-10-15 20:55:59