Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Spring 3.2,并且正在寻找一种方法可以强制控制器指定允许绑定哪些属性,因此恶意用户无法将值注入绑定对象。Spring 推荐使用setAllowedFields()to white-list / setDisallowedFields()to black-list。
setAllowedFields()
setDisallowedFields()
我不想手动执行此白名单,而是希望动态执行此操作,因此我想绑定表单上可见的属性。
那么有可能得到这个白名单吗?有什么方法可以让我获得表单上的可见属性?
谢谢。
你可以实现一个RequestDataValueProcessor特别的方法processFormFieldValue。您可以构建一个允许字段名称的集合,并将其存储在会话中。
RequestDataValueProcessor
processFormFieldValue
接下来,您将扩展ConfigurableWebBindingInitializer并覆盖该initBinder方法。这将检索集合并在那里预先配置WebDataBinder。
ConfigurableWebBindingInitializer
initBinder
WebDataBinder
最后,您需要一些配置来将所有内容连接在一起。
链接