2011-06-01 44 views
0

一旦用戶關閉了他的瀏覽器或頁面,是否有任何結束用戶會話的方式?Rails 3:用戶關閉瀏覽器或頁面後終止用戶會話?

PS我使用authlogic在我的驗證插件。

我想問的原因是因爲我想它正在編輯時鎖定表列,並且不希望它被釋放,直到用戶完成他的更改的行或他關閉了他的瀏覽器或轉到另一個頁面等

感謝

回答

0

沒有,當瀏覽器窗口關閉,你不能得到一個通知。如果你考慮這個問題的話,這很有意義,因爲用戶可能有很多方式終止他們的瀏覽體驗。例如,他們可能會失去連接 - 在這種情況下,無法通知應用程序發生了這種情況。另外,瀏覽器發送每一個打開了終止通知的窗口都是不切實際的。這就是說,如果你設置了這個用戶交互,我會建議有一個Ajax請求,通過ping你的服務器來通知你的應用程序用戶仍然活動,並且表鎖不應該被釋放。例如,將間隔設置爲兩秒。如果您在3-4秒內沒有收到新的ping,請解鎖。

雖然我會建議你瞄準不同的方法。創建持久的行/表鎖並不安全。如果我是你,我會以不同的方式構造用戶交互,以完全避免這種鎖定。

相關問題