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?
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.
Und Sie können Ihre NewSessionMiddleware
anstelle von SessionMiddleware
verwenden.