tkr*_*use 5 java spring spring-security sockjs spring-websocket
我想创建一个 Spring Server 和一个通过 sockjs-client 连接的 Broswer javascript 客户端。连接应该通过 Spring Security 来保护。
我有以下困境:
Spring Security 似乎假设 websocket 握手是通过经过身份验证的 http 会话发生的(例如 JSESSIONID cookie 设置,登录发生)。
然而,sockjs-client 似乎对开发人员施加了限制,即不得使用经过身份验证的 http 会话(参见https://github.com/sockjs/sockjs-client/issues/196),以任何方式强制执行此操作。
我对困境的评估是否正确,是否有任何明显的解决方案来实现带有 websockets 的 spring 服务器的安全性,以便 sockjs-client 可以安全地连接?
如果用于创建经过身份验证的 HttpSession,在 GET /info 请求中传递任何身份验证令牌的建议解决方案似乎是绕过 SockJS 安全限制的黑客。
这似乎是一些人出现问题的基础,例如:
我看到了 3 种替代方法:
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |