Каждый сервер аутентификации 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
. См. Документацию для деталей и соображений производительности.