基於文檔(http://docs.djangoproject.com/en/1.1/topics/http/sessions/)(是 - 1.1)Django爲所有用戶創建獨特的會話。記錄的用戶包含_auth_user_id
。我怎樣才能在登錄取得這樣的檢查:django每個用戶一個會話
If new_login._auth_user_id in database:
delete(sessions_containing_same_id_except_new_one)
的主要想法是讓每個用戶只有一個會話,並刪除舊 會議。
更新:現在的想法是在記錄時保存sessionid,如果sessionid更改,則在更換前刪除舊條目。 ATM缺少的部分是獲取該會話ID。
更新:我得到了會議ID爲request.session.session_key
。問題是在登錄後會話創建了。如果您在創建密鑰之前請求密鑰 - 它將創建新密鑰而不是發出任何警告。
類似質疑[here](http://stackoverflow.com/questions/3379353/django-auth-how-to-disallow-user-session-if-his-ip-doesnt-match-the-original-on) – 2011-03-29 12:12:44
@StephenPaulger,其基於IP。從單一辦公室來看,所有電腦都具有相同的IP。因此,我正在搜索有關會話的信息。我幾乎知道該怎麼做,但我無法獲得session_key,因爲'request.session.session_key'創建新密鑰而不是採用current。 – JackLeo 2011-03-29 12:20:07
這是來自[這個問題](http://stackoverflow.com/questions/1814437/allow-only-one-concurrent-login-per-user-in-django-app)第二個答案可能是你正在尋找。 – 2011-03-29 12:24:48