Spring Webflow防止GET方法过渡

时间:2019-05-30 16:54:18

标签: spring spring-webflow spring-webflow-2

我在我的项目中使用spring webflow 2.3.1.RELEASE。

客户的安全团队提出并发出警告:“可以将http方法从POST更改为GET,并且应用程序接受更改并继续工作。”

因此,我需要阻止此更改,并使我的过渡仅接受POST方法。或者,如果我在url中获得执行以外的任何请求参数,则抛出异常。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以创建自己的FlowExecutionListener并在请求方法不同于POST和/或存在请求参数时引发异常。

请参阅文档here和API here

答案 1 :(得分:0)

我使用FlowHandlerMapping的拦截器解决了这个问题。

我创建了一个类并将其命名为MethodInterceptor,实现org.springframework.web.context.request.WebRequestInterceptor。

在“公共无效preHandle(WebRequest请求)引发异常”方法中,我检查了请求方法,如果获得,我检查了请求参数为空还是仅包含执行参数。如果条件不满足,我就抛出一个例外。