@play.data.binding.NoBinding

新的@play.data.binding.NoBinding注解允许我们定义一些“不应该被绑定”的字段,以防出现安全问题。例如:

public class User extends Model {  
@NoBinding("profile") public boolean isAdmin;  //声明一个不要绑定isAdmin的User对象的格式
@As("dd, MM yyyy") Date birthDate;  
public String name;  
}  
 
public static void editProfile(@As("profile") User user) {  //将user对象转化为上面定义的profile格式,就不会绑定isAdmin字段
…  
} 

在这种情况下, 在 editProfile action中,就算某个居心不良的用户通过伪造请求提交了一个包含 user.isAdmin=true 的字段, isAdmin 字段也不会被绑定.

posted @ 2017-11-22 07:06  KylinStayHere  阅读(310)  评论(0编辑  收藏  举报