仅在发布模式下将Role属性添加到MVC3方法?

时间:2012-01-16 11:36:42

标签: c# asp.net-mvc-3 attributes active-directory authorization

是否可以将[Authorize(Roles="Admin")](作为示例)添加到MVC3控制器方法,但仅限于发布模式?

我现在可以访问的测试环境没有AD,但Live确实 - 所以我只想在发布模式下添加属性。

编辑:使用#if

时出现问题
using...
using...
using MyWebsite.Helpers;

namespace MyWebsite.Controllers.Admin
{
#if !DEBUG
    [RedirectAuthorize(Roles = "Admin")]
#endif
    [DatabaseDependant]
    public class AdminController : Controller
    {
      ...
    }

一旦我添加#if,我就会在using MyWebsite.Helpers;上收到错误,说明找不到这个错误(并且找不到我的自定义属性[DatabaseDependant])

如果我重新编译,那么它可以......暂时...直到我几乎编辑任何东西......于是我必须重新编译。

我在这里错过了一招吗?为什么要添加#if才能实现这一目标?

1 个答案:

答案 0 :(得分:5)

你可以用:

包围它
#if !DEBUG
[Authorize(Roles="Admin")]
#endif