【发布时间】:2013-07-26 08:20:59
【问题描述】:
我有一个 Spring MVC (3.2.2) 应用程序,我需要检查请求正文的加密签名(在请求标头中传递),其中包含类型为 application/x-www-form-urlencoded 的数据
我的问题:Spring MVC 似乎无法获取实际的、未处理的 HTTP 请求正文,因此无法检查签名。
- 当我在请求处理程序方法中使用
@RequestBody注释时,我得到了内容,但各个表单字段的顺序是随机的 - 显然是从解析的表单数据重新生成的。 - 当我使用
HttpServletRequest类型的参数时,它的主体是空的 -
Reader或InputStream参数也是如此。
如何防止或绕过请求正文的这种预处理?
【问题讨论】:
-
顺便说一句:我认为这也是 amz s3 签名是从 ordered 请求参数列表构建的原因。
-
@Dirk Lachowski:我非常愿意在确认签名后进行自己的参数解析——但我需要原始的、未处理的请求正文来做到这一点。
标签: spring-mvc