2010-03-29 12 views

Odpowiedz

29

Spójrz na session middleware i jego ustawień. W szczególności te dwie:

SESSION_COOKIE_AGE

domyślne: 1209600 (2 tygodnie, w ciągu kilku sekund)

Wiek sesyjne, w sekund.

SESSION_SAVE_EVERY_REQUEST

domyślna: Fałsz

czy zapisać dane sesji na każde żądanie. Jeśli jest to wartość false (domyślnie), dane sesji będą zapisywane tylko, jeśli zostały zmodyfikowane - to znaczy, jeśli którakolwiek z jej wartości słownika została przypisana lub usunięta.

Ustawienie niskiego poziomu SESSION_COOKIE_AGE i włączenie SESSION_SAVE_EVERY_REQUEST powinno spowodować "wyślizgiwanie się" wygasania.

+0

Dzięki McNearney. dzisiaj rozwiązałem Mój problem za pomocą Twojego posta. –

2

Ustawienie wieku ciasteczek sesji w oprogramowaniu pośredniczącym sesji django powoduje ustawienie czasu wygaśnięcia w nagłówku set-cookie przekazywanym do przeglądarki. Jest to tylko zgodność przeglądarki z czasem wygaśnięcia, który wymusza "wylogowanie".

W zależności od przyczyn potrzeby bezczynnego wylogowania użytkownik może nie uznać wystarczająco dobrze zgodności przeglądarki z czasem wygaśnięcia. W takim przypadku musisz rozszerzyć oprogramowanie pośrednie sesji, aby to zrobić.

Na przykład możesz przechowywać czas wygaśnięcia w silniku sesji, który aktualizujesz z zapytaniami. W zależności od rodzaju ruchu w Twojej witrynie, możesz chcieć tylko napisać z powrotem do obiektu sesji raz w X sekund, aby uniknąć nadmiernego zapisu danych w db.

+0

To nie wydaje się być prawdą w Django 1.4. Nagłówek Set-Cookie, który otrzymuję z serwera, wygląda następująco: 'Set-Cookie = csrftoken = ... sessionid = 365ede0dd7038cc70796f9f724bc21b6; httponly; Ścieżka =/'Nie ma czasu wygaśnięcia, więc wygaśnięcie musi być wymuszone po stronie serwera. – Nathan

+0

Miło, że oprogramowanie pośrednie sesji zostało ulepszone. Nie jestem pewien, co powinienem zrobić z tą odpowiedzią, która była wtedy dokładna. – MattH

+0

Myślę, że dobrze jest pozostawić odpowiedź tak, jak jest, ponieważ była prawidłowa w momencie pisania. – Nathan

Powiązane problemy