Использование синтаксиса BaseDN с LDAP - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь получить информацию о пользователе, используя идентификатор пользователя с внутреннего сервера Ldap.

У меня уже есть скрипт для получения информации из моего подразделения, но я хотел бы получить информацию о пользователе из любого подразделения. (это может быть из любого подразделения моего предприятия.

Я надеюсь, вы могли бы помочь мне:)

            $ldap = ldap_connect("LDAP://xxxxxxxx/", 389)
            or die;

        $ldapuser      = 'user'; 
        $ldappass     = 'pass';

        $BaseDN = "OU=Utilisateurs,OU=AF,OU=M_Viy,OU=Ressources_Locales,DC=COMMUN,DC=AD,DC=xxxx,DC=FR";
    //  $RootDN = 'CN=LDAP User,OU=Comptes_Generiques_Attente,OU=M_Vitry,OU=Ressources_Locales,DC=COMMUN,DC=AD,DC=xxxxx,DC=FR';
    //  $ConnectionFilter = '(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))';

        if ($bind = ldap_bind($ldap, $ldapuser, $ldappass)) 
        {
            $attributes_ad = array("displayName","givenname","sn","samaccountname","telephonenumber","mail","extensionattribute7","mobile","company","displayName");

            $cpuser = $infos['user'];
            $result = ldap_search($ldap, $BaseDN, "samaccountname=$cpuser", $attributes_ad);
            $info = ldap_get_entries($ldap, $result);

            print_r($info);
        }

1 Ответ

1 голос
/ 25 апреля 2019

Могу ли я предложить изменить базовое DN с

$BaseDN = "OU=Utilisateurs,OU=AF,OU=M_Viy,OU=Ressources_Locales,DC=COMMUN,DC=AD,DC=xxxx,DC=FR";

на

$BaseDN = "DC=COMMUN,DC=AD,DC=xxxx,DC=FR";

и установить соответствующий фильтр.Поэтому вместо "samaccountname=$cpuser" попробуйте использовать

"(&(objectCategory=person)(sAMAccountName=*))" .

Это позволит вам получить любого пользователя из любого подразделения в вашем домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...