Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DWR SecurityException:HttpSessionId在POST请求中为空_Java_Spring_Post_Tomcat8_Dwr - Fatal编程技术网

Java DWR SecurityException:HttpSessionId在POST请求中为空

Java DWR SecurityException:HttpSessionId在POST请求中为空,java,spring,post,tomcat8,dwr,Java,Spring,Post,Tomcat8,Dwr,我正在尝试将Tomcat5.5+JDK5升级到Tomcat8.5.x+JDK1.7 部署在此服务器上的应用程序是使用FTL(2.3.4)+DWR(2.0.3)+Spring(2.5.5)框架的遗留应用程序 当部署在Tomcat8.5.6+JDK7上时,我在执行来自应用程序的POST请求的一些操作上遇到了错误。 大多数操作都是DWR调用,用于过滤/操作屏幕上显示的数据 屏幕上显示一条弹出消息“会话错误”。 在前端评测中,我发现完整的错误是导致SessionError的SecurityExcepti

我正在尝试将Tomcat5.5+JDK5升级到Tomcat8.5.x+JDK1.7 部署在此服务器上的应用程序是使用FTL(2.3.4)+DWR(2.0.3)+Spring(2.5.5)框架的遗留应用程序

当部署在Tomcat8.5.6+JDK7上时,我在执行来自应用程序的POST请求的一些操作上遇到了错误。 大多数操作都是DWR调用,用于过滤/操作屏幕上显示的数据

屏幕上显示一条弹出消息“会话错误”。 在前端评测中,我发现完整的错误是导致SessionError的SecurityException

在服务器端调试时,我发现请求被视为CSRF攻击,因此引发了此异常。 DWR检查POST请求主体中的HTTP会话ID,以根据CSRF可能性验证请求。 因此,在前端调试中,我发现请求没有在POST正文中发送httpSessionId

如图所示

我已尝试在DWR servlet初始化中禁用
crossDomainSessionSecurity
参数。 在那之后,它工作得很好,但我不能继续处理它在生产环境中造成的安全风险

由于这个问题,我无法继续Tomcat迁移。
请建议如何解决此问题?

我正在检查Tomcat 8中的一些新功能。 我了解到,从Tomcat 6开始,Tomcat默认只允许HTTP请求。 这意味着默认情况下useHttpOnly标志为true。 这会导致javascript请求失败。 在部署中,我尝试设置useHttpOnly=“false”,然后应用程序就可以正常工作了。
我将在我这边做更多的测试,所以现在我们可以考虑这个问题得到解决。

< P>我在Tomcat 8中检查了一些新的特性。 我了解到,从Tomcat 6开始,Tomcat默认只允许HTTP请求。 这意味着默认情况下useHttpOnly标志为true。 这会导致javascript请求失败。 在部署中,我尝试设置useHttpOnly=“false”,然后应用程序就可以正常工作了。 我会在我这边做更多的测试,所以现在我们可以考虑这个问题得到解决。