我正在对 Novell eDirectory 服务器进行直通身份验证。目前我执行以下请求:
results = server.search_s(
self.basedn,
ldap.SCOPE_SUBTREE,
'(objectClass=user)',
attrlist=['uid', 'networkAddress'])
(这是在python中,如果你想让我解释一下,请告诉我。)
这种方法的问题是每个查询都返回服务器上的每个用户,然后我必须循环查找我感兴趣的用户。我缓存它,但我真正想做的是这个:
results = server.search_s(
self.basedn,
ldap.SCOPE_SUBTREE,
'(&(objectClass=user)(networkAddress=#9#\x00\x00\xc0\xa8\n\x1e))')
(这个古怪#9#
的东西就是 IP 的存储方式——它实际上是 192.168.10.30)
当我进行查询时,networkAddress
我得到一个'Invalid Syntax'
错误(即使我做了类似的事情networkAddress=blah
,没有所有\
的)。
有没有办法对特定 IP 进行 LDAP 查询?