Я использую Active directory с сервером Windows 2008 R2. У меня есть приложение, работающее с Django и python 2.7. Теперь мне нужно использовать аутентификацию активного каталога для доступа в мое приложение.Как django-auth-ldap достичь аутентификации с помощью cn (общее имя) в AD?
Чтобы сделать это, я использую эти пакеты:
sudo apt-get-update
sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
sudo pip install django-auth-ldap
sudo pip install python-ldap
Я использовал полное имя, чтобы иметь успешную привязку.
import ldap
from django.conf import settings
username='my full name in AD'
password= 'my password'
l = ldap.initialize(settings.AUTH_LDAP_SERVER_URI)
l.simple_bind_s(username,password)
Моя проблема, когда я пытаюсь использовать свой атрибут сп для привязки, я получил эту ошибку:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 207, in
simple_bind_s
return self.result(msgid,all=1,timeout=self.timeout)
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 422, in
result res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 426, in
result2 res_type, res_data, res_msgid, srv_ctrls =
self.result3(msgid,all,timeout)
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 432, in
result3 ldap_result = self._ldap_call(self._l.result3,msgid,all,timeout)
File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 96, in
_ldap_call result = func(*args,**kwargs)
INVALID_CREDENTIALS: {'info': '80090308: LdapErr: DSID-0C0903A9, comment:
AcceptSecurityContext error, data 52e, v1db1', 'desc': 'Invalid
credentials'}
Могу ли я использовать мой сп (общее имя) для аутентификации в моем Active Directory?
Спасибо.