我正在尝试使用我的网络应用程序来超时用户的解决方案。我目前正在使用ng2-idle,它似乎只能在活动窗口上工作而不是跟踪服务器端(角度服务器webpack)
除了上面的事件之外,我还需要处理这两个事件:
经过测试,关闭窗口后没有跟踪我的超时。 Ng2-idle有keepalive等模块,但我不确定如何使用它,如果它解决了我的问题
如果需要,我会提供代码
谢谢
答案 0 :(得分:1)
主要问题是,客户端和服务器以无状态方式进行通信。这意味着如果用户断开连接,则没有人知道。
如果您的浏览器具有用于关闭或导航到其他站点的钩子功能,您可以使用该功能并发送注销请求。
相关的另一件事是会话到期,你应该使用它。如果您使用的是令牌,则只要会话有效(或者有效),您就需要将其列为黑名单。
断开是一个主要问题(会话过期试图以某种方式解决)。 如果注销断开连接非常重要,则可能需要使用websockets或http long polling。你需要发送一个心跳,如果它没有响应,一段时间后你会自动注销用户。
希望这些想法有所帮助。
答案 1 :(得分:0)
当你关闭浏览器会话时会破坏。所以你可以使用session注销。