我的应用中的“管理”区域包含一堆控制器,并且在所有控制器上放置[Authorize]
属性有点重复。有没有办法告诉框架某个区域内的所有控制器都应该具有某些属性?
编辑:在这种情况下,继承不是解决方案。首先,控制器已经从一个自定义类继承,其次,它应该是关于装饰类,而不是继承它们。
答案 0 :(得分:1)
您可以创建一个基本控制器,该区域中的所有控制器都使用[Authorize]
属性派生并装饰它。
答案 1 :(得分:1)
MVC 3有一个名为全局动作过滤器的新功能,它非常适合你正在做的事情。由于您可能尚未使用MVC 3,因此您还可以通过this example在早期版本的MVC中实现全局操作过滤器。只需自定义解决方案以过滤检查您是否位于当前正在执行的请求的“管理”区域,然后应用您的授权属性。
这将允许您执行此操作,而无需根据您的请求应用公共基类。
答案 2 :(得分:0)
有四个选项,