可以重写控制器(ASP.NET MVC3)中定义的自定义属性参数吗?

时间:2013-01-16 09:21:15

标签: asp.net asp.net-mvc-3 security

我在控制器中定义了一些修改文件内容的动作(当然,我不直接从控制器修改,但是这个控制器从模型中调用方法)。通过该功能,我提出了一个自定义属性,提到必须具有管理员权限。

动作如下:

[CustomAttribute(MustBeAdmin = true)]
public ActionResult ModifyFile(){
  ...
}

CustomAttribute看起来像:

public class CustomAuttribute: AuthorizeAttribute 
{
   public bool MustBeAdmin {get;set;}

   protected override void HandleUnauthorizedRequest( AuthorizationContext filterContext) {
       if ( filterContext.RequestContext.HttpContext.Session["user"] == null ) { ... }
       else { ... // check if is need admin rights and current has this right then continue else go to default route }
   }
}

出于安全考虑,我想问你是否有人可以从代码外部将MustBeAdmin参数设置为false值?

如果是,如何防止这种情况?

由于

0 个答案:

没有答案