LDAP uid路径未知

2024-04-26 10:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这里是我的工作python脚本:

#!/usr/bin/python

import ldap, sys

l = ldap.initialize('ldap://myldapserver:389')
username = "uid=%s,OU=folder1,OU=myCompany,O=MyCompanyGroup" % "myID"
password = "mypassword"
try:
  l.protocol_version = ldap.VERSION3
  l.simple_bind_s(username, password)
  valid = True
  print "OK"
  l.unbind()
except Exception, error:
  print error

现在我想绑定用户,只需指定“O=MyCompanyGroup”,并在该子树上搜索uid。例如,我可以基于“inetOrgPerson”进行过滤

我试过了

 username = "(&(objectClass=inetOrgPerson )(uid=%s)(O=MyCompanyGroup))" % "myID"

但我的证件无效。你知道吗

谢谢! 里卡多


Tags: import脚本uidbinusrsysusernameou
1条回答
网友
1楼 · 发布于 2024-04-26 10:06:13

找到了解决办法

#!/usr/bin/python

import ldap, sys

l = ldap.initialize('ldap://myldapserver:389')
search_filter = "(&(uid=myID)(objectClass=inetOrgPerson))"
base_dn="O=MyCompanyGroup"
password = "mypassword"
try:
  l.protocol_version = ldap.VERSION3
  result = l.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, None)
  user_dn = result[0][0]
  print user_dn
  l.simple_bind_s(user_dn, password)
  valid = True
  print "OK"
  l.unbind()
except Exception, error:
  print error

相关问题 更多 >