1

我们目前有一个 Spring 应用程序,它包含一个 REST API 和 Websocket 代理端点,以获取数据库更改的实时更新。

我们已经成功迁移到带有嵌入式 redis 服务器的 Spring Session 项目,该服务器通过基本身份验证进行身份验证,并且会话 ID 可以在后续请求中用作 x-auth-token 标头。

我们遇到的问题是保护 Websocket。在 Angular 上,我们有一个围绕 stomp.js / sockjs 库的包装器指令,但我们似乎无法弄清楚如何在 Websocket 升级请求上设置 x-auth-token 标头。

我们做错了什么吗?处理这种安全方案的推荐方法是什么?

堆:

  • 雄猫 7.0.57
  • 弹簧安全 4.0.0.RC2
  • 春季会议 1.0.0.RELEASE
  • 春天MVC 4.1.4
  • AngularJS 1.2.28
4

1 回答 1

0

看起来 JS Websocket API 不允许在初始握手和升级请求上设置 HTTP 标头。

正确的方案是在 CONNECT 帧上发送一个身份验证令牌,并在服务器端进行相应的处理。所以现在我们已经迁移到浏览器 cookie 会话,直到我们可以在服务器端找到一个合适的实现。

于 2015-03-23T14:37:45.080 回答