我们已经实现类似于此其他SO交描述的一个的系统。基本上,如果用户没有14分钟做任何事情,我们提醒他们,他们将被注销。如果他们点击“让我登录”我们做了一个Ajax请求,以保持他们的会议还活着,否则,它们将在一分钟后重定向到注销页面。

它工作得很好,并且是内嵌在像mint.com和bankofamerica.com网站使用类似的系统。唯一的问题是,我们的应用程序的用户往往有多个选项卡打开指来回不同的数据块。所以,问题是,他们可以在一个选项卡中积极努力,但随后其他片超时,并记录他们。这将导致时,他们没有预料到的用户突然会话超时。顺便说一句,mint.com具有此相同的问题。

所以我想知道如果任何人有任何想法,以打击呢?

我有一个想法,每个请求可以设置一个“最后的活动时间”的cookie。在自动注销,服务器可以检查这最后的活动时间,如果它是相对较新,避免记录出来。手动注销当然会忽略这个cookie,所以如果用户想退出,他可以在任何时候这样做。然而,恐怕这可能会暴露出某种安全隐患,我不是能看到这一点。想法?

有帮助吗?

解决方案

在显示弹出,询问服务器多久以前的用户做了他最后的请求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top