我正在将我的登录表单与微软Active Directory集成。我使用LDAP php库验证用户。
当用户尝试登录时,他们输入用户名和密码。连接到服务器成功,通过“LDAP_bind”认证也会根据值的正确性给出真或假。现在我无法检索用户的真实姓名以在屏幕上显示它。
我拥有的所有信息都是带有端口号的ldap uri,以及通过web表单输入的用户名和密码。
这是我目前的代码:
当用户尝试登录时,他们输入用户名和密码。连接到服务器成功,通过“LDAP_bind”认证也会根据值的正确性给出真或假。现在我无法检索用户的真实姓名以在屏幕上显示它。
我拥有的所有信息都是带有端口号的ldap uri,以及通过web表单输入的用户名和密码。
这是我目前的代码:
$ldap = ldap_connect("ldap://abc.xyz:123");
if ($bind = ldap_bind($ldap, $_REQUEST['username'].'@abc.xyz',$_REQUEST['password']))
{ echo "Welcome". $_REQUEST['username'];}
$_REQUEST['username']不易读,所以我需要阅读此用户属性或仅显示名称。
ldap_search和ldap_read函数没有帮助,我尝试了这段代码:
$ldap_base_dn = 'DC=abc,DC=xyz';
$search_filter = "(objectclass=*)";
$result = ldap_search($ldap_connection, $ldap_base_dn, $search_filter);
没有运气,除了用户名和密码以及LDAP URI之外,我还需要哪些其他信息才能成功地执行ldap_search或ldap_read。换句话说,这是否只需要有用户名、密码和LDAP URI就可以完成?