0

尝试使用 populate_user 信号进行一些自定义处理但没有效果。

from django.dispatch import receiver
from django_auth_ldap.backend import populate_user, LDAPBackend


@receiver(populate_user, sender=LDAPBackend)
def ldap_auth_handler(user, ldap_user, **kwargs):
    """
        Create mailbox and create user with email
    """
    print("signal")

用户被填充,在下面记录:

search_s('ou=people,dc=example,dc=com', 2, '(mail=%(user)s)') 返回 1 个对象:uid=alice,ou=people,dc=example,dc=com 调试:django_auth_ldap:search_s('ou=people,dc=example,dc=com', 2, '(mail=%(user)s)') 返回 1 个对象:uid=alice,ou=people,dc=example,dc =com 创建 Django 用户 alice@example.com 调试:django_auth_ldap:创建 Django 用户 alice@example.com 填充 Django 用户 alice@example.com 调试:django_auth_ldap:填充 Django 用户 alice@example.com

4

1 回答 1

0

抱歉没有正确阅读 Django 信号文档,需要在 app_config 中导入信号模块。另外,由于我使用的是自定义后端,因此必须在信号中替换它(不确定它是否正确但有效):

@receiver(populate_user, sender=CustomLDAPBackend)
于 2021-09-10T04:50:24.567 回答