如何使用PHP从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 :(得分:7)
这是一个类似“我如何着陆飞机?”的问题......: - )
你需要提供更多关于你将要做什么,你已经做了什么等等的细节......
首先,它取决于您所谈论的LDAP服务器类型(例如OpenLDAP或Active Directory)以及服务器使用的LDAP模式(Active Directory对此有明确的标准,但特别是OpenLDAP可以将用户存储在任意位置模式)。如果您已经弄清楚了这些细节,那么您可以使用ext/ldap(PHP的LDAP扩展库)或更高的抽象(例如PEAR的Net_LDAP2)来熟悉自己。如果您对LDAP通信的工作方式有基本的了解,并且在使用ext / ldap在PHP中执行整个操作时遇到问题,那么您应该将问题编辑为更具体。
通常,LDAP通信会话涉及:
ldap_connect()
ldap_bind()
ldap_unbind()
在服务器上执行操作(在您的情况下:检索所有用户帐户)现在在很大程度上取决于您正在使用的服务器和/或架构。
答案 1 :(得分:0)
注意限制... AD默认返回1000个对象,因此如果对象多于AD域中的对象,则会出现问题。 eDirectory允许您配置号码,但默认为无限制。 OpenLDAP,不知道。
你可能想要指定一个要检索的属性,即使只有cn或uid,否则默认是所有属性,这将是愚蠢的。
您可能希望将其范围限定为objectClass(例如用户,inetorgperson等,具体取决于您的后端服务器)。