Ich verwende "devise" für die Passwort-Authentifizierung in meiner Ruby on Rails App. Sobald ich mich erfolgreich angemeldet habe und ich meinen Browser geschlossen habe und ein neues Browserfenster geöffnet habe, bin ich immer noch angemeldet. Nehmen wir an, ich verwende Chrome, schließe alle Instanzen von Chrome und öffne dann eine neue. Ich bin immer noch angemeldet. Das gleiche gilt für IE und Firefox.Wie kann ich die Sitzung im Browser schließen?
Ich würde annehmen, am Ende des Fensters und das Öffnen eines neuen Fensters sollte eine neue Sitzung zwischen dem Server und dem Browser einrichten, nicht wahr? Wenn nicht, wie erreiche ich das?
Ich versuchte versucht, klicken Sie auf Abmelden-Schaltfläche im Browserfenster onbeforeunload
Ereignis, aber es funktioniert nicht, wie es aus der Anwendung auf einem Formular senden oder Link klicken.
window.onbeforeunload = function() {
$('#logout_cls').click();
};
und versuchte AJAX
Anfrage an den Sitzungen Controller sendet zerstören Aktion für die Sitzung löschen.
jQuery(window).bind(
"close",
function(event) {
$.ajax({
type: 'DELETE',
dataType: 'json',
url: $('#logout_cls').attr('href')
});
});
aber all dies hat nicht funktioniert.
Ich habe bereits die Erinnerung-Strategie deaktiviert. Hier ist, wie mein Modell ist: devise: database_authenticatable,: wiederherstellbar,: verfolgbar,: validable Gedanken? – user380692
Gehen Sie zu 'db \ schema.rb'. Überprüfen Sie Ihre Benutzertabellen. Hat es ein Attribut mit dem Namen 'remember_created_at' oder' remember_token'? Wenn dies der Fall ist, müssen Sie sie entfernen. – Ashitaka
Haben Sie das geschafft? – Ashitaka