2017-03-07 92 views

回答

0

它沒有。當一個會話到期時,它只是到期,就是這樣。

我認爲你的問題是基於對所有登錄內容的誤解。 Django不知道誰在特定的時間登錄過;網絡是無狀態的,Django知道用戶的唯一時間是他們提出請求時。此時,Django可以區分具有有效會話cookie的用戶和不具有有效cookie的用戶。但是,如果會話隨後到期,第一個Django將知道該用戶下一次發出請求的時間。

+0

我需要知道django驗證會話cookie的方法/類,並確定請求是否來自用戶「Dalailama」。之後,我期望找到request.user,「Dalailama」或「匿名用戶」 – jalanga

+0

這是在身份驗證中間件。 –

0

您可以通過request.user獲取用戶在任何地方查看。如果您通過request.user獲得有效的用戶信息,則用戶登錄。並且這是NULL那麼用戶沒有登錄。

+0

實際上不是NULL是AnonymousUser,並沒有幫助我。我想說的是:在用戶登出時我會做一些東西,但是當會話過期時 - >用戶已經註銷,但我想在這裏做同樣的事情。 – jalanga

+1

django會話由認證中間件處理。你無法趕上會議過期或不在任何地方你的代碼。您只能通過request.user方法獲取登錄用戶的信息 –