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
、次の2つのエラーのいずれかが発生します。
Invalid Credentials
-誤って入力したり、意図的に間違った資格情報を使用したりすると、認証に失敗します。
ldap.INVALID_CREDENTIALS:{'info': '80090308:LdapErr:DSID-0C090334、comment:AcceptSecurityContext error、data 52e、vece'、 'desc': 'Invalid credentials'}
または
ldap.OPERATIONS_ERROR:{'info': '00000000:LdapErr:DSID-0C090627、Comment:この操作を実行するには、接続でバインドを正常に完了する必要があります。、データ0、vece'、 'desc': '操作エラー'}
適切にバインドするために何を逃していますか?
fedoraとwindowsで同じエラーが発生します。