Deaktiviere anonymes Benutzer-Cookie mit Django

8

Ich verwende django auth für meine Website, auf der die Sitzungs-Middleware installiert sein muss.

Die Django-Session-Middleware fügt immer einen Session-Cookie hinzu, auch für anonyme Benutzer (Benutzer, die nicht authentifiziert sind). Bei der Authentifizierung wird der Cookie durch einen anderen ersetzt, der angibt, dass der Benutzer angemeldet ist.

Ich möchte den anonymen Benutzer-Cookie für Cache-Zwecke (Lack) deaktivieren.

Gibt es eine Möglichkeit, anonyme Benutzer-Cookies zu deaktivieren, ohne die Session-Middleware zu entfernen, die für Apps mit Authentifizierung erforderlich ist?

    
kollo 17.04.2013, 20:33
quelle

1 Antwort

7

Sitzungsdaten werden im Cookie in process_response von SessionMiddleware festgelegt. Diese Funktion verwendet keine Einstellung oder request.user , sodass Sie innerhalb dieser Methode nicht wissen können, ob der Benutzer ein angemeldeter Benutzer oder ein anonymer Benutzer ist. Daher können Sie das Senden des Sitzungscookies an den Browser nicht deaktivieren.

Wenn Sie jedoch diese Funktionalität möchten, können Sie SessionMiddleware ableiten und process_response überlagern.

%Vor%

Und Sie können Ihre NewSessionMiddleware anstelle von SessionMiddleware verwenden.

%Vor%     
Akshar Raaj 18.04.2013, 06:16
quelle

Tags und Links