Php ldap返回变量

Php ldap返回变量,php,ldap,return-value,Php,Ldap,Return Value,我们对LDAP和其他东西还很陌生,到目前为止,我们所能做的似乎就是通过LDAP和LDAP身份验证来了解登录名/密码是好是坏(通过LDAP bind()和php) 我们想要做的是,在良好登录的情况下,从LDAP返回一个变量(例如,用户矩阵)。这可能吗?如果可能,怎么可能 LDPA函数的PHP文档示例: <?php // using ldap bind $ldaprdn = 'uname'; // ldap rdn or dn $ldappass = 'password'; //

我们对LDAP和其他东西还很陌生,到目前为止,我们所能做的似乎就是通过LDAP和LDAP身份验证来了解登录名/密码是好是坏(通过LDAP bind()和php)

我们想要做的是,在良好登录的情况下,从LDAP返回一个变量(例如,用户矩阵)。这可能吗?如果可能,怎么可能

LDPA函数的PHP文档示例:

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

那么在线php手册的ldap\u connect示例是错误的:

// Variables del servidor LDAP
$ldaphost = "ldap.example.com";  // servidor LDAP
$ldapport = 389;                 // puerto del servidor LDAP

// Conexión al servidor LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
           or die("Could not connect to $ldaphost");

首先,您在
ldap\u connect()
之后执行
或die()
,这使得您的
if($ldapconn)
毫无意义-如果您做到了这一点,它将永远是正确的。其次,
ldap\u connect()
总是正确的,因为它总是返回一个初始化的资源,直到您
ldap\u bind()
,它才真正与服务器通信-这是您真正需要检查的结果。第三,什么?您的问题是“连接后如何查询目录”?完全正确。我们需要检查我们的用户/密码是否有效(使用LDAP绑定),然后,如果有效,要从目录中获取更多信息,您需要使用
LDAP\u read()
/
\u search()
/
\u list()
)。您需要知道要获取的数据所使用的基本DN—您到底想要获取什么?您查询的是哪种LDAP服务器?广告还是别的什么?