websocket应用程序中的用户跟踪

时间:2016-08-18 13:02:00

标签: javascript java angularjs cookies websocket

我有一个在后端用Java EE(TomCAT)和前端的AngularJS实现的websocket应用程序。现在我必须做新功能,这将限制客户端消息号。每个用户将被允许在一段有限的时间内拨打有限的申请电话号码。这应该在没有身份验证(登录)的情况下完成

据我所知,确定未登录用户的最佳方法是cookie,但由于用户可以在以后关闭并打开浏览器,因此会话cookie无效,因此我必须使用持久性cookie。要从服务器上的java访问和管理cookie,我必须使用HTTPRequest / HTTPResponse,但即使我有机会阅读带有websocket初始请求的cookie发送,我也无法将其设置回来(我需要这个给用户一些id在cookie内),因为不会有任何回应。所以我有3个选项可行:

  1. 在客户端,在JavaScript函数中,在每个websocket消息之前, HTTPRequest将被发送(AJAX)。服务器将从请求中获取cookie 并检查是否有可能回答websocket 消息(节流)。识别特定的websocket答案 客户端我可以使用在UI上生成的一些随机密钥,并将其发送 同时使用HTTP和WebSocket调用。
  2. 在HTML模板中调用服务器(或者使用AJAX执行此操作?),并使用它来预设用户ID cookie。
  3. 使用文档前缀在JavaScript函数的UI上生成cookie,并检查在websocket消息发送之前UI上是否需要限制。
  4. 请帮助找到有效的解决方案。我不确定我的选择是否合适。

0 个答案:

没有答案