Я использую «devise» для аутентификации по паролю в своем приложении ruby on rails. После успешного входа в систему, закрытия браузера и открытия нового окна браузера, я все еще вошел в систему. Допустим, я использую 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')
});
});
но все это не сработало.