【问题标题】:while dispatching incoming RPC call in gwt在 gwt 中调度传入的 RPC 调用时
【发布时间】:2011-07-28 10:00:48
【问题描述】:

我有 RPC 调用以从数据库中获取一些值,我使用 GWT,我使用 RPC 调用,相同的代码在 IE 上运行良好,但相同的代码在 Firefox 上不起作用。这没有意义。

2011-07-28 15:27:47.657:WARN:/:Exception while dispatching incoming RPC call
java.lang.SecurityException: Blocked request without GWT permutation header (XSRF attack?)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.checkPermutationStrongName(RemoteServiceServlet.java:272)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:203)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

【问题讨论】:

  • 我认为您需要实际提出一个问题并至少在一些上下文中扩展您的提交,然后才能获得有用的答案。
  • 对此真的很抱歉,实际上我有 RPC 调用以从数据库中获取一些值,我使用 GWT,在哪里使用 RPC 调用,相同的代码适用于 Internet Explorer,但相同的代码没有无法使用 Firefox,请您在这里帮忙。

标签: gwt rpc


【解决方案1】:

在 GWT 2.3 中添加了跨站点请求伪造,我假设您已经查看了 http://code.google.com/webtoolkit/doc/latest/DevGuideSecurityRpcXsrf.html 并进行了必要的更改?

【讨论】:

  • 感谢您的回复,通过覆盖下面的方法,它起作用了, /** * 它只会在设置 PermutationStrong 名称时检查它。 * 内容类型文本/x-gwt-rpc; charset=utf-8 ...这是临时解决方案。 * X-GWT-Permutation F1AEC601C5D8E4490E7096AB58EB */ @Override protected void checkPermutationStrongName() throws SecurityException { final HttpServletRequest req = this.getThreadLocalRequest(); if (!req.getContentType().contains("text/x-gwt-rpc")) { super.checkPermutationStrongName(); } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多