在Django中你可以從request.session
字典閱讀_auth_user_id
驗證您的身份和登錄的用戶之後。正如我在「正常」條件(標準認證後端)中所理解的那樣,它應該是用戶標識(pk)。當我使用django-auth-ldap
作爲認證後端到底是什麼_auth_user_id(與Django的認證 - LDAP連接)?
但什麼是_auth_user_id
?它返回整數,但在我的LDAP數據庫中沒有這樣的值。
在Django中你可以從request.session
字典閱讀_auth_user_id
驗證您的身份和登錄的用戶之後。正如我在「正常」條件(標準認證後端)中所理解的那樣,它應該是用戶標識(pk)。當我使用django-auth-ldap
作爲認證後端到底是什麼_auth_user_id(與Django的認證 - LDAP連接)?
但什麼是_auth_user_id
?它返回整數,但在我的LDAP數據庫中沒有這樣的值。
每個Django認證後端 - 包含django-auth-ldap - 最終會在成功認證時返回django.contrib.auth.models.User的實例。 django.contrib.sessions反過來只知道這些用戶對象;它不知道或關心後端製作它們。所以request.session['_auth_user_id']
應該是一個用戶PK,不管你的後端。當然,爲了方便起見,您可以訪問request.user
。
如果您使用的是django-auth-ldap,並且您需要返回LDAP用戶,則可以查看request.user.ldap_user
。有關詳情和性能注意事項,請參閱文檔。