首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在symfony 3中检查其他用户登录

如何在symfony 3中检查其他用户登录
EN

Stack Overflow用户
提问于 2017-07-31 08:39:57
回答 2查看 141关注 0票数 0

我正在研究西佛尼的FOSUserBundle。我在google上搜索了“如何检查其他用户是否登录了他们的帐户”,但是我没有做到。我想添加一个绿色的标记,如果一个特定的用户登录,Facebook的方式。

我不知道FOSUserBundle是否有检查用户是否登录的代码。我找到了这个(other question on SOF),但它只检查当前用户是否登录。

我不知道在我的实体中添加这个属性是个好主意

代码语言:javascript
复制
   /**
     *
     * @ORM\Column(name="log_status", type="boolean", nullable=true)
     */
    protected $logStatus;

这将设置用户的状态(登录与否),我将向fos_user表中添加一个列,以将其保存到数据库中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-31 09:41:45

要解决这个问题,首先需要定义中登录的真正含义。因为您的代码通常每个请求只调用一次,用户可以在该请求之后5秒钟内离开,或者他可以打开页面一个小时,但在这两种情况下,用户仍可能在会话中登录。

因此,您可能要做的是检查用户当前是否处于活动状态。有多种方法可以做到这一点,并且取决于信息的实时性,你必须为你选择最好的选择。

最简单的方法(imho)是每隔X秒使用AJAX调用(轮询或长轮询)向服务器发送,而不是决定状态会在多长时间内变为脱机状态。如果AJAX调用失败,应该有一些罗马的消息。

其他选项,将给您一个更实时的概述,将是使用WebSockets,或服务器发送的事件。

可能还有其他选项,比如使用像PubNub这样的服务来处理连接,并使用它们的API来确定用户是否处于非活动状态。但你得自己想办法。

票数 3
EN

Stack Overflow用户

发布于 2017-07-31 09:25:19

添加该字段--很好--您可以通过查询来查找状态为真的用户

但是问题是如何保持数据的更新--你不能用symfony来做

对于我来说,我使用了一个ping (Ping),比如Heartbeat来查看用户是否处于活动状态,您可以使用Socket.io

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45411056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档