使用Roo防止Spring MVC中的批量分配

时间:2012-07-19 16:33:57

标签: spring-mvc security spring-roo

我正在与Spring Roo开始一个新项目。我发现它生成的MVC控制器容易受到质量分配的影响。我想知道是否有一种标准方法只允许更新某些字段。我正在考虑使用@InitBinder,但我不知道它是否是最好的方法。

我的印象是,我所知道的大多数Java EE框架都忽略了这个问题和CSRF预防。更糟糕的是,即使在他们自己的示例代码中也经常发现这些漏洞。

旁注:我已经知道HDIV,但除了CSRF预防之外,我不想“uglify”我很好的REST URL。

1 个答案:

答案 0 :(得分:1)

这个问题没有很好的解决方案,选项:

  • 创建表单或DTO对象,这些对象只包含表单中的内容(但不适用于spring roo)
  • 使用对象的2个实例,表单实例和数据库实例,然后仅将表单页面中的字段从表单实例复制到数据库实例

这篇文章可以用来帮助解决质量分配问题: http://blog.42.nl/articles/leveraging-the-spring-mvc-3.1-handlermethodargumentresolver-interface/