Java Spring会话、Websocket、REST令牌安全

Java Spring会话、Websocket、REST令牌安全,java,angularjs,spring-security,sockjs,spring-session,Java,Angularjs,Spring Security,Sockjs,Spring Session,我们目前有一个Spring应用程序,它包含一个RESTAPI和Websocket代理端点,用于实时更新数据库更改 我们已经成功地迁移到了Spring会话项目,其中嵌入了一个redis服务器,该服务器通过基本身份验证进行身份验证,会话id可以作为x-auth-token头在后续请求中使用 我们面临的问题是如何保护Websocket。在Angular上,我们在stomp.js/sockjs库周围有一个wrapper指令,但我们似乎无法确定如何在Websocket升级请求上设置x-auth-token

我们目前有一个Spring应用程序,它包含一个RESTAPI和Websocket代理端点,用于实时更新数据库更改

我们已经成功地迁移到了Spring会话项目,其中嵌入了一个redis服务器,该服务器通过基本身份验证进行身份验证,会话id可以作为x-auth-token头在后续请求中使用

我们面临的问题是如何保护Websocket。在Angular上,我们在stomp.js/sockjs库周围有一个wrapper指令,但我们似乎无法确定如何在Websocket升级请求上设置x-auth-token头

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

堆栈:

Tomcat 7.0.57 Spring Security 4.0.0.RC2 Spring Session 1.0.0.0发布版 Spring MVC 4.1.4 AngularJS 1.2.28
看起来JSWebSocket API不允许在初始握手和升级请求上设置HTTP头

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