当我只有SamAccountName和密码时,如何使用LDAP从PHP进行身份验证?有没有一种方法可以只绑定(bind)SamAccountName和密码而不绑定(bind)专有名称。我发现的唯一示例假设您拥有DN:$server="XXX.XXX.XXX.XXX";$dn="cn=$username,";$basedn="ou=users,ou=accounts,dc=domain,dc=com";if(!($connect=ldap_connect($server))){die("CouldnotconnecttoLDAPserver");}if(!($bind=ldap_bind
我刚开始使用LDAP,如果我以完全错误的方式进行此操作,请告诉我。我正在使用bhLDAPAuthPlugin插件使用Symfony1.4我正在使用LDAP验证用户登录。但是,我想使用用户名查询LDAP表中的更多数据。所以我正在编写这个搜索功能来根据用户名过滤结果:functionuser_values($username){if(!$username){die("Usernameisnotthereman!");}if(!$this->_conn){die("NoConnection.");}if(!$this->_base_dn){die("NoBase.");}$filter="s
我正在通过LDAP(来自Java和PHP)查询ActiveDirectory,以构建用户所属的所有组的列表。此列表必须包含所有组(组织单位可选),这些组包含用户直接所属的组。例如:User1是GroupA、GroupB和GroupC的成员。GroupA是GroupD的成员。我正在寻找一种构建LDAP查询的方法,该查询将同时返回GroupA、GroupB、GroupC、和GroupD。我目前的实现如下,但我正在寻找一种更有效的方式来收集这些信息。当前的朴素实现(伪代码)user=ldap_search('samaccountname=johndoe',baseDN);allGroups=
我正在为我的学校开发网站。在那所学校,我们通过LDAP对用户进行身份验证,因此有一个通过学校站点进行相同操作的想法。在该站点上,一切都运行良好,但在开发过程中,我需要经常测试这种解决方案是否有效。为了不那么频繁地提交我的更改,我想在我的本地计算机上测试这个站点,但是为了与LDAP连接,我想使用ssh隧道。在学校网络中,我们通过我们在学校网络内部连接的女巫拥有一台服务器。它的地址是phoenix.lo5.bielsko.pl。在这个网络中,我们有LDAP服务器打开了389和636端口。它的地址是auth.lo5。我无权通过SSH访问auth.lo5,我只能连接它以获取一些LDAP条目。所
我知道我的错误将是非常简单的,但我试图找到问题所在但我没有看到它,也许你可以帮助我....我正在尝试使用php创建一个函数,这样我就可以连接到LDAP并找到所需的信息。我的php代码如下:$ldapconfig['host']="127.0.0.1";$ldapconfig['port']=NULL;$ldapconfig['basedn']="dc=example,dc=com";$ldapconfig['binddn']="user";$ldapconfig['bindpw']="password";functionldap_authenticate($user,$pass){gl
我们正在构建一个通过php使用LDAP的应用程序,我开始思考是否可以通过注入(inject)LDAP来做任何事情,更好的是如何防止LDAP注入(inject)? 最佳答案 构建LDAP过滤器时,您必须确保根据RFC2254处理过滤器值:AnycontrolcharacterswithanACIIcodeZend_Ldap例如使用以下例程//[...]$val=str_replace(array('\\','*','(',')'),array('\5c','\2a','\28','\29'),$val);for($i=0;$i
我是LDAP的新手,所以我会尝试正确解释我有一个主机名"energia.sise"我需要获取位于energia.sise/nej/users中的所有用户你能告诉我怎么做吗?在这段代码中,我试图根据我的电子邮件获取我的记录,但它出错了警告:ldap_search():搜索:没有这样的对象$base_dn="OU=users,OU=nej,DC=energia,DC=sise";$ds=ldap_connect("energia.sise")ordie("Невозможносоединитьсяс$ldaphost");ldap_bind($ds,"login@energia","pas
使用LDAP/PHP对当前用户运行搜索以检索所有属性(包括ActiveDirectory中的关联组)的最佳方法是什么?对于属性,主要只是名字、姓氏和显示名称。对于关联组,只是用户所属的组,例如memberOf函数。我已经尝试了几个选项,但似乎无法获得正确的过滤器/搜索组合,而且大多数示例都涉及检索存在已知组的用户列表。我试过在成功绑定(bind)后运行它:$attributes=array("displayname");$filter="(&(sAMAccountName=$username))";$result=ldap_search($ds,$ldapconfig['basedn'
我正在使用LDAPActiveDirectory并尝试列出所有用户。我有这个过滤器,效果很好:(&(objectclass=user)(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))不幸的是,我们在AD中还有一个计算机单元和其他设备,对象类为“用户”,因此通过之前的过滤器,我得到了所有用户、计算机、设备、房间等。这些计算机和设备也有一个对象类“计算机”,所以我需要用对象类扩展过滤器!=“计算机”以便只列出真实用户。到目前为止,我已经尝试了这些过滤器,但没有一个起作用(没有返回数据
我想用PHP创建一个基于Web的应用程序,它接收LDAP请求并发回LDAP响应,但实际上并不使用LDAP服务器。具体来说,我想将MySQL数据库中的联系人表作为LDAP地址簿提供给Thunderbird。两个问题:是否有用于使用PHP实现LDAP服务器的现有库?(PHP_LDAP包用于创建LDAP客户端,其中PHP应用程序连接到现有的LDAP服务器。)LDAP数据实际上是如何从客户端获取到我的脚本中的?LDAP是否通过HTTP传输?请求将出现在:$HTTP_RAW_POST_DATA或类似的?Apache可以处理LDAP请求并将它们传递到我的脚本中,还是它是一个完全不同的协议(prot