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