Python + LDAP를 사용하여 AD에 대해 어떻게 인증합니까? 나는 현재 python-ldap 라이브러리를 사용하고 있으며 그것이 생산하는 것은 눈물뿐입니다.
간단한 쿼리를 수행하기 위해 바인딩 할 수도 없습니다.
import sys
import ldap
Server = "ldap://my-ldap-server"
DN, Secret, un = sys.argv[1:4]
Base = "dc=mydomain,dc=co,dc=uk"
Scope = ldap.SCOPE_SUBTREE
Filter = "(&(objectClass=user)(sAMAccountName="+un+"))"
Attrs = ["displayName"]
l = ldap.initialize(Server)
l.protocol_version = 3
print l.simple_bind_s(DN, Secret)
r = l.search(Base, Scope, Filter, Attrs)
Type,user = l.result(r,60)
Name,Attrs = user[0]
if hasattr(Attrs, 'has_key') and Attrs.has_key('displayName'):
displayName = Attrs['displayName'][0]
print displayName
sys.exit()
이것을 실행하면 myusername@mydomain.co.uk password username
두 가지 오류 중 하나가 발생합니다.
Invalid Credentials
-사용자 인증 정보를 잘못 입력하거나 의도적으로 잘못 사용하면 인증에 실패합니다.
ldap.INVALID_CREDENTIALS : { 'info': '80090308 : LdapErr : DSID-0C090334, 주석 : AcceptSecurityContext 오류, 데이터 52e, vece', 'desc': '잘못된 자격 증명'}
또는
ldap.OPERATIONS_ERROR : { 'info': '00000000 : LdapErr : DSID-0C090627, 설명 :이 작업을 수행하려면 연결에서 성공적인 바인드를 완료해야합니다., 데이터 0, vece', 'desc': '작업 오류 '}
제대로 바인딩하려면 무엇을 놓치고 있습니까?
페도라와 창에서 동일한 오류가 발생합니다.