我在控制器中定义了一些修改文件内容的动作(当然,我不直接从控制器修改,但是这个控制器从模型中调用方法)。通过该功能,我提出了一个自定义属性,提到必须具有管理员权限。
动作如下:
[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值?
如果是,如何防止这种情况?
由于