0
一旦用户关闭了他的浏览器或页面,是否有任何结束用户会话的方式?Rails 3:用户关闭浏览器或页面后终止用户会话?
PS我使用authlogic在我的验证插件。
我想问的原因是因为我想它正在编辑时锁定表列,并且不希望它被释放,直到用户完成他的更改的行或他关闭了他的浏览器或转到另一个页面等
感谢
一旦用户关闭了他的浏览器或页面,是否有任何结束用户会话的方式?Rails 3:用户关闭浏览器或页面后终止用户会话?
PS我使用authlogic在我的验证插件。
我想问的原因是因为我想它正在编辑时锁定表列,并且不希望它被释放,直到用户完成他的更改的行或他关闭了他的浏览器或转到另一个页面等
感谢
没有,当浏览器窗口关闭,你不能得到一个通知。如果你考虑这个问题的话,这很有意义,因为用户可能有很多方式终止他们的浏览体验。例如,他们可能会失去连接 - 在这种情况下,无法通知应用程序发生了这种情况。另外,浏览器发送每一个打开了终止通知的窗口都是不切实际的。这就是说,如果你设置了这个用户交互,我会建议有一个Ajax请求,通过ping你的服务器来通知你的应用程序用户仍然活动,并且表锁不应该被释放。例如,将间隔设置为两秒。如果您在3-4秒内没有收到新的ping,请解锁。
虽然我会建议你瞄准不同的方法。创建持久的行/表锁并不安全。如果我是你,我会以不同的方式构造用户交互,以完全避免这种锁定。