LDAP auth backend assumes things about how first and last names can be gathered.
Updated 6 months ago
| Jordan Sissel | Reviewers | ||
| reviewboard | |||
| None | Review Board SVN | ||
first_name and last_name are gathered (currently) by space-splitting the 'cn' field. This is correct unless you don't have spaces in your 'cn' field at which point user creation fails. I have switched to using displayName, but this is not a permanent fix. I might recommend something similar to LDAP_UID_MASK, but it is not likely as simple.
I tested this on my server by logging in with an unregistered user using the LDAP backend. The user creation was successful.
Diff revision 1 (Latest)
- trunk/reviewboard/accounts/backends.py: 1 change [ 1 ]
| trunk/reviewboard/accounts/backends.py | |||
|---|---|---|---|
| Revision 1373 | New Change | ||
| ... | 83 lines hidden [Expand] | ||
| 84 | ldapo.simple_bind_s(settings.LDAP_ANON_BIND_UID, settings.LDAP_ANON_BIND_PASSWD) |
84 | ldapo.simple_bind_s(settings.LDAP_ANON_BIND_UID, settings.LDAP_ANON_BIND_PASSWD) |
| 85 | 85 | ||
| 86 | passwd = ldapo.search_s(settings.LDAP_UID_MASK % username, |
86 | passwd = ldapo.search_s(settings.LDAP_UID_MASK % username, |
| 87 | ldap.SCOPE_SUBTREE, "objectclass=*") |
87 | ldap.SCOPE_SUBTREE, "objectclass=*") |
| 88 | 88 | ||
| 89 | first_name, last_name = passwd[0][1]['cn'][0].split(' ', 1) |
89 | first_name, last_name = passwd[0][1]['displayName'][0].split(' ', 1) |
| 90 | email = u'%s@%s' % (username, settings.LDAP_EMAIL_DOMAIN) |
90 | email = u'%s@%s' % (username, settings.LDAP_EMAIL_DOMAIN) |
| 91 | 91 | ||
| 92 | user = User(username=username, |
92 | user = User(username=username, |
| 93 | password='', |
93 | password='', |
| 94 | first_name=first_name, |
94 | first_name=first_name, |
| ... | 20 lines hidden [Expand] | ||
- trunk/reviewboard/accounts/backends.py: 1 change [ 1 ]
Other reviews