Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用LDAP检查Active Directory用户凭据?_Ldap - Fatal编程技术网

如何使用LDAP检查Active Directory用户凭据?

如何使用LDAP检查Active Directory用户凭据?,ldap,Ldap,我正在寻找一个基本的ldap脚本,该脚本正在检查Active Directory中是否存在用户/密码组合 我提到,LDAP的身份验证是使用另一个帐户完成的,而不是正在验证的帐户 这是我不完整的脚本: #!/usr/bin/env python import ldap import sys Server = "ldap://pdc01.example.com" DN = "EXAMPLE\username" Secret = "pass" un = "john" un_password = "h

我正在寻找一个基本的ldap脚本,该脚本正在检查Active Directory中是否存在用户/密码组合

我提到,LDAP的身份验证是使用另一个帐户完成的,而不是正在验证的帐户

这是我不完整的脚本:

#!/usr/bin/env python
import ldap
import sys

Server = "ldap://pdc01.example.com"
DN = "EXAMPLE\username"
Secret = "pass"
un = "john"
un_password = "hispass"
Base = "dc=example,dc=com"

Scope = ldap.SCOPE_SUBTREE
Filter = "(&(objectClass=user)(sAMAccountName="+un+"))"
Attrs = ["displayName"]

l = ldap.initialize(Server)
l.set_option(ldap.OPT_REFERRALS, 0)
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

# TODO: I get `john`'s Username but how to check his password ?

l.unbind()

如果要检查的条目的可分辨名称及其凭据已知,请发送一个简单的绑定请求,包括凭据。如果成功,密码正确,帐户可用,而不是被锁定或禁用。或者,SASL机制可以与绑定请求一起使用

如果专有名称未知,请使用具有足够权限的连接将搜索请求传输到目录服务器,以读取条目的专有名称。搜索请求必须包含条目预期从属于的基本对象,应使用尽可能严格的范围如果不知道可分辨名称,这将是一个或子项,应在已知信息的情况下使用尽可能严格的筛选器,并请求属性1.1,因为所需的只是条目的可分辨名称。假设搜索成功,搜索响应将包含条目的可分辨名称。已知可分辨名称后,按上述方式发送绑定请求

另见
如果要检查的条目的可分辨名称及其凭据已知,请发送一个简单的绑定请求,包括凭据。如果成功,密码正确,帐户可用,而不是被锁定或禁用。或者,SASL机制可以与绑定请求一起使用

如果专有名称未知,请使用具有足够权限的连接将搜索请求传输到目录服务器,以读取条目的专有名称。搜索请求必须包含条目预期从属于的基本对象,应使用尽可能严格的范围如果不知道可分辨名称,这将是一个或子项,应在已知信息的情况下使用尽可能严格的筛选器,并请求属性1.1,因为所需的只是条目的可分辨名称。假设搜索成功,搜索响应将包含条目的可分辨名称。已知可分辨名称后,按上述方式发送绑定请求

另见
再次检查,在AD上使用LDAP检查密码的唯一方法是成功绑定用户的凭据?是的。绑定请求(无论是simple还是SASL)将导致来自目录服务器的响应,指示凭据是否正确。如果我没弄错的话,人们甚至无法读取编码的密码,这是应该的。嗯……这个答案有问题。所以-如果登录凭据用户名是CORP\brad-我应该搜索什么???为了再次检查,在AD上使用LDAP检查密码的唯一方法是成功绑定用户凭据?是的。绑定请求(无论是simple还是SASL)将导致来自目录服务器的响应,指示凭据是否正确。如果我没弄错的话,人们甚至无法读取编码的密码,这是应该的。嗯……这个答案有问题。那么-如果登录凭据用户名是CORP\brad-我应该搜索什么???