今天刚刚开始了解dwr并在网上下了个中文文档学习,好不容易参照文档照做了个demo,就遇到这样一个问题,后台打印错误信息:“A request has been denied as a potential CSRF attack.” 然后百度出了解决方案,亲测有效!
第1步:在web.xml中添加如下代码:
<!-- 添加corssDomainSessionSecurity参数 --> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param>
网上说参数corssDomainSessionSecurity是在dwr版本2.0才有的.默认值为true,也就是禁止其他域发送请求.若设置成false后,就能够从其他域进行请求但这样做会在安全性上有一些冒险。
第2步:将JSP文件中所引用的js文件engine.js的方式改成下面的方式:
<script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/interface/service.js'></script>
然后运行就没有错误了,为什么这样做能运行就不清楚了,有知道的大神可以赐教!