我已成功在DJANGO中设置RemoteUserMiddleware
以从Apache获取REMOTE_USER
字段并使用它通过Django进行身份验证。
如何使用REMOTE_USER
填充Django中的电子邮件字段?所有用户的域都相同,所有用户在通过LDAP进行身份验证时都会在Django中自动创建。注意,我没有使用django_auth_ldap模块。
答案 0 :(得分:2)
好像你应该继承RemoteUserBackend
并在AUTHENTICATION_BACKENDS
而不是RemoteUserBackend
中使用自定义后端类;在您的自定义后端类中,您可以覆盖configure_user
方法并设置用户的电子邮件:
from django.contrib.auth.backends import RemoteUserBackend
class MyRemoteUserBackend(RemoteUserBackend):
MY_DOMAIN = 'my.domain.tld'
def configure_user(self, user):
user.email = '%s@%s' % (user.username, self.MY_DOMAIN)
user.save()
return user
在settings
模块中:
AUTHENTICATION_BACKENDS = ('your.custom.backend.module.MyRemoteUserBackend',)