在Django中,您可以在验证和登录用户后从request.session字典中读取_auth_user_id。据我所知,在“正常”条件下(标准身份验证后端),它应该是用户id (pk)。
但是,当我使用django-auth-ldap作为身份验证后端时,什么是_auth_user_id?它返回整数,但是在我的LDAP数据库中没有这样的值。
发布于 2012-03-04 04:21:14
每个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。有关详细信息和性能注意事项,请参阅文档。
https://stackoverflow.com/questions/9547656
复制相似问题