Как назначить группу после параметра ldap? - PullRequest
0 голосов
/ 22 мая 2019

Я хотел бы назначить группу после определенного параметра ldap. В Django у меня есть другие группы, кроме ldap.

Я делаю что-то в signal.py, но я хочу сделать тот же эффект в settings.py, потому что когда я создаю новые группы, я хочу что-то изменить в settings.py

Я делаю это в signal.py и это работает </p> <pre><code>global group_name if (gidNumber =='201'): goup_name = 'a ' elif (gidNumber == '202'): user.is_staff = True group_name = 'b' else: group_name = 'c' if(user.groups.filter(name=group_name).exists()!= True ): group = Group.objects.get(name=group_name) user.groups.add(gruop)

но я хотел бы сделать это как сглаживание вот так, что я пытаюсь сделать это в моих настройках.py

</p> <pre><code> AUTH_LDAP_USER_FLAGS_BY_GROUP = { "groups.filter(name='a')": "gidNumber=201,uid=%(user)s,ou=People,dc=yy,dc=xx ", }

1 Ответ

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

Самый простой ответ - создать собственный словарь в settings.py

LDAP_DICTIONARY = {
    '201':'a',
    '202':'b',
    '203':'c'
    }

AUTH_LDAP_USER_ATTR_MAP = {
    'first_name' : 'gecos',
    'last_name' : 'gidNumber',
     }

и в параметре assign.py, но у меня есть только параметры name_name и last_name, поэтому я назначаю gidNumber для last_name и очищаю егопареметр

gidNumber = user.last_name    
user.last_name=' '
group_name =LDAP_DICTIONARY[gidNumber]
group = Group.objects.get(name=group_name)
user.groups.add(group)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...