Как разделить параметр ldap в Django - PullRequest
1 голос
/ 07 мая 2019

Я отображаю пользователей с помощью django ldap. Это работает, но мой параметр ldap 'cn' содержит имя и фамилию. Я хотел бы разделить его и присвоить свойство. напр. (cn: Адам Смит)

Вероятно, я должен сделать там, где создается пользователь. Но я не очень хорошо знаю, где это точно.

Я пытаюсь разбить файл settings.py, но это невозможно или я не прав?

AUTH_LDAP_USER_ATTR_MAP = {
     'first_name': 'cn',
}


list=cn.split(' ')

first_name = list[0]
last_name = list[1]

1 Ответ

0 голосов
/ 15 мая 2019

@ Решить Ратурая было довольно легко, но мне пришлось искать его.Последний абзац этой статьи мне помог.https://coderbook.com/@marcus/how-to-add-ldap-and-active-directory-authentication-to-django/. И знание того, как инициализировать файл signal.py, его легко найти при переполнении стека.

и мой код, если эта статья устарела:

signal.py:

import re
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):

    list = user.first_name.split(' ')
    user.first_name= list[0]
    user.last_name = list[1]


    user.save()

и в settings.py

AUTH_LDAP_USER_ATTR_MAP = {
        'first_name' : 'cn',
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...