当前位置: 首页 > 知识库问答 >
问题:

支持Spring Security CSRF的Sockjs回退

松铭
2023-03-14
function AbstractXHRObject(method, url, payload, opts) {
  debug(method, url);
  var self = this;
  EventEmitter.call(this);

  // HACK : add csrf headers
  opts["headers"][csrfHeader] = csrfToken;

  setTimeout(function () {
    self._start(method, url, payload, opts);
  }, 0);
}

我的问题是:在SockJS的XHR回退对象上添加头的方法是什么?

谢谢

共有1个答案

皇甫聪
2023-03-14

最后,我在安全上下文中为sockjs URL禁用CSRF。

 <security:csrf request-matcher-ref="csrfMatcher" />

配对员:

public class CsrfSecurityRequestMatcher implements RequestMatcher {

    private Pattern                 allowedMethods      = Pattern.compile("^(GET|HEAD|TRACE|OPTIONS)$");
    private AntPathRequestMatcher   unprotectedMatcher  = new AntPathRequestMatcher("/ws/**/xhr_send**");

    @Override
    public boolean matches(HttpServletRequest request) {
        if (allowedMethods.matcher(request.getMethod()).matches()) {
            return false;
        }

        return !unprotectedMatcher.matches(request);
    }
}

注:以下为http://blogs.sourceallies.com/2014/04/customizing-csrf-protection-in-spring-security/

 类似资料:
  • SockJS 是一个浏览器上运行的 JavaScript 库,如果浏览器不支持 WebSocket,该库可以模拟对 WebSocket 的支持,实现浏览器和 Web 服务器之间低延迟、全双工、跨域的通讯通道。 SockJS family: SockJS-client JavaScript client library SockJS-node Node.js server SockJS-erlang

  • 从IDEA13.1.x升级到14.x(14.0.2)之后,我发现对Spock框架、Mock()和Stub()方法的支持变得更差了。 更具体地说,我指的是使用闭包进行stubk/mocking的内联方法,比如: IDEA13意识到了stubbed类型的可用方法,这在下面的屏幕截图中可见。 而IDEA14缺少这个功能,这真的是一个遗憾。下面的屏幕截图显示了它。 方法下划线并变灰。IDE似乎不知道发生了

  • 我是在朝着正确的方向前进,还是根本不可能? 我已经能够实现一个自定义的,它由和一个自定义的支持。我只是想知道是否可以使用来实现这一点,因为严格模式会抱怨中的游标没有显式关闭。 任何帮助都将不胜感激。 我猜想方法有一些问题,因为它调用。这适用于该视图中的第一个条目,但不适用于后续条目。在这一点上我不太确定出了什么问题。 更新2 所以我已经确定了问题。问题是TextWatcher的方法。选择终止第一个

  • WebSocket 规范定义了一种 API,可在网络浏览器和服务器之间建立"套接字"连接。 简单地说:客户端和服务器之间存在持久的连接,而且双方都可以随时开始发送数据。 Nutz为WebSocket准备了什么? 请下载最新的nutz-plugins-websocket及websocket api, 然后只需要一个类, 即可完成websocket的基础集成. @ServerEndpoint(val

  • 这个特性被喊了好几个版本了,并且先后被报了好几个 Issue: Issue 323 Issue 369 加上今天是个风和日丽的日子,Nutz.Mvc 重构完毕。架构这么灵活强大, 那么我就把这个特性加上吧,呵呵。 注意, Nutz支持的是Restful风格的映射, 但并非一个Restful实现. 如何使用 REST Nutz.Mvc 对于 REST 的支持,包括4个常用方法及通用定义方法: GET

  • ACL (Access Control List, 访问控制列表) 具有 超级用户 的 ACL 没有用户的 ACL: 对于没有身份验证或用户登录的系统尤其有用。 没有资源的 ACL: 某些场景可能只针对资源的类型, 而不是单个资源, 诸如 write-article, read-log等权限。 它不控制对特定文章或日志的访问。 RBAC (基于角色的访问控制) 支持资源角色的RBAC: 用户和资源

  • 我有一个maven Web应用程序,我使用logback和JBoss EAP 6.1作为服务器。问题是,当我在服务器上部署它时,我的logback.xml被忽略,logback的默认配置被使用,它打印在控制台上,而不是我的日志文件。如果我在tomcat上部署我的应用程序,日志工作正常。 我得把它放回原处。src/main/resources中的xml。 在Logback SL4J JBoss EA

  • SockJS-node is a Node.js server side counterpart of SockJS-client browser library written in CoffeeScript. To install sockjs-node run: npm install sockjs (If you see rbytes dependecy failing, don't wo