asp.net-mvc-3 – 在ASP.NET MVC 3中覆盖/禁用授权

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 在ASP.NET MVC 3中覆盖/禁用授权前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否可以禁用/覆盖所有授权属性.

在开发机器上,Active Directory组织与生产环境完全不同.当我在开发环境上开发/测试时,我必须“删除”所有授权属性.

在控制器操作方法中使用不同类型的活动目录组(在Authorize属性中).

[Authorize]
...

[Authorize(Roles="domain\HR")]
...

[Authorize(Roles="domain\IT")]
...

提前致谢..

解决方法

我会做以下事情:

>编写自定义授权属性,该属性在Release中作为默认值使用,并始终允许在Debug中执行操作,即

public class MyAuthorizeAttribute: AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        #if DEBUG
        return true;
        #else
        return base.AuthorizeCore(httpContext);
        #endif
    }
}

>用您自己的代码替换代码中的所有现有Authorize属性,即

[MyAuthorize]
...

[MyAuthorize(Roles="domain\HR")]
...

[MyAuthorize(Roles="domain\IT")]
...

>始终在调试模式下开发并在发布模式下发布

如果您不希望绑定到Debug / Release事件,可以在项目配置中指定自己的条件编译符号 – 例如,DEVTEST并在步骤1代码中将DEVBEST替换为DEBUG.

原文链接:https://www.f2er.com/aspnet/245790.html

猜你在找的asp.Net相关文章