2012-09-25 5 views
5

Ich habe eine Website, die Remote-Authentifizierung über Kerberos verwendet. Ich habe alles gemäß der Django-Dokumentation eingerichtet (https://docs.djangoproject.com/en/dev/howto/auth-remote-user/). Die Anmeldung funktioniert großartig, jedoch beendet die Abmeldung die Sitzung nicht. Was kann ich tun, um sicherzustellen, dass der Benutzer vollständig ausgeloggt ist? Das Schließen des Browserfensters scheint vollständig zu funktionieren, aber Benutzer müssen sich abmelden können, ohne das Browserfenster zu schließen.Django Benutzer Logout mit Remote-Authentifizierung

Antwort

0

Wenn sich der Benutzer von Django abmeldet, wird die Djangositzung zerstört, der Benutzer wird jedoch weiterhin bei Kerberos angemeldet, und die nächste Anforderung erstellt automatisch eine neue Sitzung. Sie können in Ihrer Django-Anwendung nichts dagegen tun. Benutzer müssen sich selbst von Kerberos abmelden, da Kerberos möglicherweise dazu verwendet wird, Benutzer in anderen Diensten/Anwendungen gleichzeitig zu authentifizieren.

0

Verwenden HttpResponse Status

401.

def logout(request): 
    return HttpResponse(content, status=401) 
zurückzukehren, um den Benutzer aus Kerebos Dies wird loggt sein.

Kredit: Ich sah diese Lösung an anderer Stelle im Zusammenhang mit der Standardauthentifizierung.