1

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

动作看起来像:

[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 值?

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

谢谢

4

0 回答 0