2009-07-08 92 views
1

如何从使用PHP的LDAP获取所有用户。从LDAP获取所有用户

function getUsers() { 

     $process = new process(); 
    //ldap->s_Host('domain.com'); 
    //$ldap->s_Domain('domain.com'); 
     $process->s_Host('domain.com'); 
     $process->s_Domain('domain.com'); 
     $process->s_LdapSecure(false); 

     if($process->LdapConn()){ 
      if($process->LdapBind()){ 



    } 

} 
} 
+0

现在最大的问题是: 您使用的是什么框架或CMS或应用程序? – 2009-07-08 13:49:55

回答

7

这是一个问题,像“如何降落飞机?” ...... :-)

你需要在你打算做什么提供了很多详细信息,你”已经完成,等等......

首先,它取决于你谈论的LDAP服务器的类型(例如OpenLDAP或Active Directory)以及服务器使用的LDAP模式(Active Directory有明确的标准这但特别是OpenLDAP可以将用户存储在任意模式中)。如果你已经知道了这些细节,你可以使用PHP的扩展库ext/ldap或者PEAR的Net_LDAP2等更高级的抽象类来自定义你自己。如果您对LDAP通信的工作原理以及如果在使用ext/ldap执行PHP中的整个事情时遇到问题有基本的了解,则应该编辑您的问题以更具体。

一般而言一个LDAP通信会话涉及:

在服务器上执行操作(您的情况:检索所有用户帐户)现在强烈依赖于您使用的服务器和/或架构。

+0

我有进一步的诱惑,你能帮助我吗 – Kevin 2009-07-08 13:50:31

0

小心限制... AD默认为返回1000个对象,因此如果AD域中有多个对象,则会出现问题。 eDirectory可让您配置号码,但默认为无限制。 OpenLDAP,不知道。

您可能想要指定要检索的属性,即使只有cn或uid,否则默认为所有属性,这将是排名愚蠢。

您可能希望将其范围限定在objectClass(例如user,inetorgperson等,取决于您的后端服务器)。