1
例如,在一個網絡appliation,我有一個用戶模型:如何防止客戶端更新的敏感領域
class User{
String username;
String email;
String passowrd;
boolean active;
Set<Role> roles;
}
的支持下列操作:
在服務器端,我們使用SpringMVC
來User
直接獲取模型:
@RequestMapping(value = "", method = RequestMethod.POST)
protected Result create(@Valid @RequestBody User user, BindingResult bindingResult) {
.....
}
到目前爲止與正常的工作流程那麼好,但想想別人(不是管理員用戶)發送:
/user HTTP/Update
{
"username":"jk",
"active":true,
"roles":[{
id:"role_admin_id"
}]
}
如果requset被接受,用戶jk
將有super_admin
的作用,這是不預期。
你如何保護它?