使用setTimeout()进行“会话”是否很好?

时间:2019-10-23 06:50:56

标签: javascript

我想使用setTimeout在60分钟“您的会话已过期”之后提醒用户。之后,我想使用ajax执行一些业务逻辑并将其重定向到起始页面。这是一个好习惯吗?

1 个答案:

答案 0 :(得分:1)

我看到了客户端和服务器会话超时之间不同步的风险。由于应在对服务器的每个请求上重置会话超时,因此您必须确保客户端上的超时也被重置。如果您的应用程序中只有完整的页面请求,则很容易,但是如果您按照我的假设进行ajax调用,则很困难。

另一个需要关注的是您提到的具有Ajax执行的业务逻辑。如果会话已过期,据我所知,不应再允许该用户在服务器上执行任何业务逻辑。

仅等待用户在UI上触发需要其授权的下一个动作,然后将过期的会话告诉他并请求重新登录,该怎么办?您甚至可以使用ajax并在模式弹出窗口中执行此操作,以保留在用户当前使用的屏幕上。这样,用户将不会在会话期满时丢失他当前输入/编辑的任何数据。

您怎么看?