0

我正在使用 Spring 3.2,并且正在寻找一种方法可以强制控制器指定允许绑定哪些属性,因此恶意用户无法将值注入绑定对象。Spring 推荐使用setAllowedFields()to white-list / setDisallowedFields()to black-list。

我不想手动执行此白名单,而是希望动态执行此操作,因此我想绑定表单上可见的属性。

那么有可能得到这个白名单吗?有什么方法可以让我获得表单上的可见属性?

谢谢。

4

1 回答 1

0

你可以实现一个RequestDataValueProcessor特别的方法processFormFieldValue。您可以构建一个允许字段名称的集合,并将其存储在会话中。

接下来,您将扩展ConfigurableWebBindingInitializer并覆盖该initBinder方法。这将检索集合并在那里预先配置WebDataBinder

最后,您需要一些配置来将所有内容连接在一起。

链接

  • RequestDataValueProcessor 文档
  • ConfigurableWebBindingInitializer 文档
于 2013-11-07T13:20:46.633 回答