Der Nachteil des hocheffizienten nginx-Caches ist eine gewisse Rücksichtslosigkeit: Auch der Inhalt zugriffsgeschützter Seiten wird zwischengespeichert und nach einem erfolgreichen Login minutenlang an beliebige andere Besucherinnen ausgeliefert.
Um das zu unterbinden, prüft mein Standard-View künftig den Zugriffsstatus jeder aufgerufenen Seite und leitet gegebenenfalls per HttpResponseRedirect
auf die Adresse /private/[page_id]
um. Unter dieser Adresse wiederum wird ein View aufgerufen, der mit @login_required
verziert ist. Adressen mit dem private
-Präfix landen natürlich nicht im Cache. Man könnte die gesamte Logik in einen separaten Decorator auslagern, aber so geht's auch.