我在我的ruby on rails應用程序中使用'devise'進行密碼驗證。一旦我成功登錄並關閉瀏覽器並打開一個新的瀏覽器窗口,我仍然登錄。假設我正在使用Chrome,我關閉了Chrome的所有實例,然後打開一個新窗口。我仍然登錄。當我在做IE和Firefox時也是如此。如何清除瀏覽器關閉的設計會話?
我會在窗口關閉並且打開一個新的窗口應該建立服務器和瀏覽器之間的新會話是不是?如果不是我如何實現這一目標?
我曾嘗試單擊瀏覽器窗口的onbeforeunload
事件上的註銷按鈕,但它不起作用,因爲它在任何表單提交或鏈接單擊時註銷應用程序。
window.onbeforeunload = function() {
$('#logout_cls').click();
};
並試圖發送AJAX
請求會話控制器銷燬清除會話的操作。
jQuery(window).bind(
"close",
function(event) {
$.ajax({
type: 'DELETE',
dataType: 'json',
url: $('#logout_cls').attr('href')
});
});
但這一切都沒有奏效。
我已經禁用了可記住的策略。這裏是我的模型是如何:設計:database_authenticatable,:可恢復,:可跟蹤,:validatable 想法? – user380692 2012-03-30 11:49:03
轉到'db \ schema.rb'。檢查你的用戶表。它是否有一個名爲'remember_created_at'或'remember_token'的屬性?如果有,那麼你必須刪除它們。 – Ashitaka 2012-03-30 15:19:33
你是否設法解決這個問題? – Ashitaka 2012-04-10 02:55:24