@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 字段也不会被绑定.