gpt4 book ai didi

grails - Atmosphere :如何从 Grails 中的 webSocket 连接获取登录用户?

转载 作者:行者123 更新时间:2023-12-04 04:30:35 29 4
gpt4 key购买 nike

我正在努力将 WebSockets 功能引入我的 Grails 应用程序。为此,我使用 Atmosphere Meteor 插件 0.7.1。
工作流程很简单:

  • 用户登录系统。
  • 具有 WebSockets 功能的用户打开页面
  • 用户单击连接按钮以建立连接... 并且服务器不认识他。

  • 我想知道哪个用户连接了我的 webSocket。

    通常通过调用 springSecurityService.getPrincipal() 很容易检测到当前用户。在任何 Controller 中。我设法注入(inject) springSecurityService到我的 MeteorHandler,但它说主体是 null .我感觉很奇怪,因为处理程序可以访问 JSESSIONID cookie,所以我希望它能够检索正确的 session 数据。

    另外, request.session与常规 Controller 操作中执行的相同命令相比,命令返回不同的 HttpSession 对象。

    那么有没有办法在 webSockets 连接上检索当前登录的用户?

    提前致谢。

    最佳答案

    可以从 request.userPrincipal.principal 轻松检索 Principal 对象。

    它与 springSecurityService.getPrincipal() 中的对象完全相同。

    在这里找到更多:https://github.com/kensiprell/grails-atmosphere-meteor/issues/28#issuecomment-34629462

    关于grails - Atmosphere :如何从 Grails 中的 webSocket 连接获取登录用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21633337/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com