大气:如何在Grails中从webSocket连接登录用户?
我正在努力将WebSockets功能引入到我的Grails应用程序中。为此,我使用大气流星插件0.7.1。 工作流程很简单:大气:如何在Grails中从webSocket连接登录用户?,grails,spring-security,websocket,atmosphere,Grails,Spring Security,Websocket,Atmosphere,我正在努力将WebSockets功能引入到我的Grails应用程序中。为此,我使用大气流星插件0.7.1。 工作流程很简单: 用户登录系统 具有WebSocket功能的用户打开页面 用户单击连接按钮以建立连接服务器不认识他。 我想知道哪个用户连接了我的webSocket 通常,在任何控制器中调用springSecurityService.getPrincipal(),都可以很容易地检测到当前用户。我设法将springSecurityService注入我的MeteorHandler,但是它说主
- 用户登录系统李>
- 具有WebSocket功能的用户打开页面
- 用户单击连接按钮以建立连接服务器不认识他。
springSecurityService.getPrincipal()
,都可以很容易地检测到当前用户。我设法将springSecurityService
注入我的MeteorHandler,但是它说主体是null
。我觉得很奇怪,因为处理程序可以访问JSESSIONID
cookie,所以我希望它能够检索正确的会话数据
另外,request.session
命令返回的HttpSession对象与常规控制器操作中执行的相同命令不同
那么,有没有办法在webSockets连接上检索当前登录的用户
提前感谢。可以从
request.userPrincipal.Principal
它与springSecurityService.getPrincipal()中的对象完全相同
请在此处查找更多信息: