Python中文
首页
教程
问答
标签
搜索
登录
注册
用户名为variab的LDAP搜索
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在使用Python LDAP模块并试图对登录用户进行查询。用户名将传递到查询中。当我简单地输入<strong>用户名作为字符串时,我的结果就会正确地显示出来。</p> <p>但是<strong>如果我试图传递(username)变量,它将返回 <code>LDAPError - FILTER_ERROR: {'desc': u'Bad search filter'}</code></strong>我尝试了许多不同的组合,但仍然返回相同的错误。这里的任何见解都太好了!</p> <p>为最小、完整和可验证的示例编辑:</p> <pre><code>import ldap LDAP_SERVER = "ldap://myldapserver.domain.ad:389" username = r"domain\serviceAccount" password = "Password" l = ldap.initialize(LDAP_SERVER) def login(username, password): try: l.simple_bind_s(username, password) base = "OU=Users,OU=Group,DC=domain,DC=ad" criteria = "(&(objectClass=user)(sAMAccountName=anActualUsername))" #WORKS criteria = '(&(objectClass=user)(sAMAccountName=%s))' % username #DOESNT WORK criteria = "(&(objectClass=user)" + "(sAMAccountName=" + username + "))" #DOESNT WORK attributes = ['displayName'] result = l.search_s(base, ldap.SCOPE_SUBTREE, criteria, attributes) print result except ldap.INVALID_CREDENTIALS: return False return True login(username,password) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你试过给你的字符串编码吗?</p> <pre><code>criteria = ('(&(objectClass=user)(sAMAccountName=%s))' % username).encode('utf8') </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
7 回答
如何合并多个xarray数据变量及其坐标?
1 回答
如何合并多个列中具有重复值的行
2 回答
如何合并多个唯一id
9 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
8 回答
如何合并多个字典并添加同一个键的值?(Python)
7 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
1 回答
如何合并多个数据帧
4 回答
如何合并多个数据帧并使用Pandas为假人添加列?
10 回答
如何合并多个数据帧并按时间戳排序
9 回答
如何合并多个数据帧的列表并用另一个lis标记每列
2 回答
如何合并多个数据框中的列
10 回答
如何合并多个文件?
6 回答
如何合并多个查询集?
8 回答
如何合并多个绘图?
8 回答
如何合并多个词典
1 回答
如何合并多个输入数据集(数据帧)?
10 回答
如何合并多条记录中拆分的文本行
10 回答
如何合并多索引列datafram
9 回答
如何合并多级(即多索引)数据帧?
7 回答