Grails 每个请求只能调用ServletFileUpload.parseRequest()一次吗?

Grails 每个请求只能调用ServletFileUpload.parseRequest()一次吗?,grails,file-upload,apache-commons,Grails,File Upload,Apache Commons,我正在为我的Grails应用程序开发一个定制的SpringSecurityFilter,并尝试使用commons上载库来处理请求。我可以在过滤器中处理请求,但一旦它到达我的控制器,所有值都不可用 上载库只能处理一次HttpRequest吗?我猜这是在清理临时文件。是否有一种方法可以保持它们在周围,以便它们可以在控制器级别再次处理 我需要为安全性查询一个表单参数(由于客户端的原因,我无法将其添加到http头中),但一旦我获得该值,它似乎会删除请求以进行进一步处理。是。一个请求只能解析一次 我在Ap

我正在为我的Grails应用程序开发一个定制的SpringSecurityFilter,并尝试使用commons上载库来处理请求。我可以在过滤器中处理请求,但一旦它到达我的控制器,所有值都不可用

上载库只能处理一次HttpRequest吗?我猜这是在清理临时文件。是否有一种方法可以保持它们在周围,以便它们可以在控制器级别再次处理


我需要为安全性查询一个表单参数(由于客户端的原因,我无法将其添加到http头中),但一旦我获得该值,它似乎会删除请求以进行进一步处理。

是。一个请求只能解析一次

我在Apache的FileUpload常见问题页面上看到了这个答案

问题:为什么parseRequest()不返回任何项目?

回答:“当请求已经被解析或以其他方式处理时,这种情况最常见。因为输入流已经被先前的进程使用,所以Commons FileUpload不再可以解析它。”


参考资料:

嗨,tgm,我有和你一样的问题。你找到解决办法了吗?还没有。我尝试编写自定义安全过滤器,但没有成功。我们为普通身份验证添加了头文件,并使用会话身份验证来解决目前的问题。当我有时间的时候,我计划尝试使用Shiro来代替,或者构建定制的grails身份验证过滤器(这是可行的)。如果您没有绑定到SpringSecurity,请尝试Grails过滤器路线。