【问题标题】:Get SamAccountname from LDAP using PHP使用 PHP 从 LDAP 获取 SamAccountname
【发布时间】:2011-06-28 13:49:37
【问题描述】:

Ldap 身份验证有效。我只想使用 php 从 Ldap 获取 samaccountname。我可以获取用户的电子邮件、OU 和显示名称,但是有没有办法获取 SamAccountName?

我正在使用这个:

if (@!$loginldap = ldap_bind($ds, "$username@$ldap_domain", $password)) { 
  if ($loginldap) { // if binding to ldap works
   $attributes = array("displayname", "mail");
   $filter = "(&(objectCategory=person)(sAMAccountName=$username))";
   $result = ldap_search($ds, $ldap_dn, $filter, $attributes);
   $entries = ldap_get_entries($ds, $result);
  }
}

$entries 数组包含我需要的所有东西,除了 SamAccountName。

谢谢。

【问题讨论】:

    标签: php ldap


    【解决方案1】:

    您必须明确请求 samaccountname。将其添加到属性列表中

    $attributes = array("displayname", "mail", "samaccountname"); 
    

    然后进行搜索。

    【讨论】:

    • :) 每个人都有时间发生。
    • 只是想补充一点,在linux上必须是小写的(windows上没测试过)
    • 我有相关的问题,虽然我是初学者。 ....如果有子域(childa,abc.com childb.abc.com,childc.abc.com)并且包含相同的samaccountname(123456789)AD将如何进行身份验证?是否会一一检查子域以便对用户进行身份验证?我的应用程序仅使用 samaccountname 作为登录 ID。每个子域中这个 samaccount 的密码是什么不同... ??
    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2021-10-15
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 2013-05-19
    相关资源
    最近更新 更多