この例 に従って、 DjangoLDAP認証を設定しました。そして、バックエンドは実際に機能しているようです。つまり、私は次のことを確認しました。
- LDAPアクセスはpython-ldapを介して完全に機能します
- デバッグは、ユーザーが実際に認証できることを示しています
- UserオブジェクトとUserProfileオブジェクトが作成されます(問題なくDBに保存されます)
ただし、ログオンに成功した後の結果のページがレンダリングされると、PicklingError: Can't pickle <type 'module'>: attribute lookup __builtin__.module failed
model
認証バックエンドを使用する場合、そのような問題はありません。また、失敗した呼び出しの変数はすべて問題ないように見えます。バックトレースは次のとおりです。
Traceback:
File "<anonymized>/lib/Django-1.4.1-py2.6.egg/django/core/handlers/base.py" in get_response
188. response = middleware_method(request, response)
File "<anonymized>/lib/Django-1.4.1-py2.6.egg/django/contrib/sessions/middleware.py" in process_response
36. request.session.save()
File "<anonymized>/lib/Django-1.4.1-py2.6.egg/django/contrib/sessions/backends/db.py" in save
52. session_data=self.encode(self._get_session(no_load=must_create)),
File "<anonymized>/lib/Django-1.4.1-py2.6.egg/django/contrib/sessions/backends/base.py" in encode
79. pickled = pickle.dumps(session_dict, pickle.HIGHEST_PROTOCOL)
Exception Type: PicklingError at /
Exception Value: Can't pickle <type 'module'>: attribute lookup __builtin__.module failed
model
セッションディクテーションは、アイテムを除いて、バックエンドのユーザーの場合と非常によく似ています。'_auth_user_backend': 'django_auth_ldap.backend.LDAPBackend',