Spring security 具有spring安全性的Websocket身份验证

Spring security 具有spring安全性的Websocket身份验证,spring-security,websocket,tomcat7,Spring Security,Websocket,Tomcat7,我正在Tomcat7上使用SpringMVC构建一个webapp,并使用SpringSecurity进行用户身份验证。除了标准控制器之外,我还有一个websocket servlet,它需要对连接进行身份验证 流程如下:客户端连接到服务器并重定向到登录页面,在成功验证后,他接收到连接到套接字的尝试的视图。我需要确保,只有经过身份验证的用户才能启动websocket连接 经过一些研究,我发现对启动websocket连接的Http升级请求进行身份验证就足够了。然而,对于如何利用我使用的技术做到这一点

我正在Tomcat7上使用SpringMVC构建一个webapp,并使用SpringSecurity进行用户身份验证。除了标准控制器之外,我还有一个websocket servlet,它需要对连接进行身份验证

流程如下:客户端连接到服务器并重定向到登录页面,在成功验证后,他接收到连接到套接字的尝试的视图。我需要确保,只有经过身份验证的用户才能启动websocket连接

经过一些研究,我发现对启动websocket连接的Http升级请求进行身份验证就足够了。然而,对于如何利用我使用的技术做到这一点,我感到困惑。简单地拦截指向websocket的url似乎不起作用,因为试图用302响应连接到套接字端,所以我猜身份验证失败,我被重定向到我的登录页面。如果能帮我解决这个问题,我将不胜感激


感谢

Spring security 4.x具有本机websocket支持,它可以很好地与您通过HTTP进行的身份验证集成

您可以在此处查看文档:

我认为,这也是我在为我的项目研究的内容,即spring security正在检查表单元素内部的身份验证,但websocket身份验证是作为连接框架中的头发送的。我想您需要编写一个筛选器来检查登录/密码详细信息的标题元素,并验证用户。此[问题][1]的答案可能对您的情况有所帮助。[1]: