ฉันจะพิสูจน์ตัวตนกับ AD โดยใช้ Python + LDAP ได้อย่างไร ฉันกำลังใช้ไลบรารี 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, comment: ข้อผิดพลาด AcceptSecurityContext, data 52e, vece', 'desc': 'Invalid credentials'}
หรือ
ldap.OPERATIONS_ERROR: {'info': '00000000: LdapErr: DSID-0C090627 แสดงความคิดเห็น: ในการดำเนินการนี้การเชื่อมต่อที่สำเร็จจะต้องเสร็จสิ้นในการเชื่อมต่อข้อมูล 0, vece', 'desc': 'ข้อผิดพลาดในการดำเนินการ '}
ฉันพลาดอะไรที่จะผูกมัดอย่างถูกต้อง?
ฉันได้รับข้อผิดพลาดเดียวกันบน fedora และ windows