x

Capitolele principale

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Ghid de inițiere rapidă
  3. LimeSurvey CE - Instalare
  4. Cum să proiectați un sondaj bun (Ghid)
  5. Noțiuni de bază
  6. Configurați LimeSurvey
  7. Sondaje - Introducere
  8. Setările sondajului
  9. Vizualizați meniul sondajului
  10. Vedeți structura sondajului
  11. Introducere - Întrebări
  12. Introducere - Grupuri de întrebări
  13. Introducere - Managementul Sondajelor
  14. Opțiunile barei de instrumente pentru sondaj
  15. Sondaj multilingv
  16. Ghid de inițiere rapidă - ExpressionScript
  17. Caracteristici avansate
  18. Întrebări generale frrecvente
  19. Depanare
  20. Soluții alternative
  21. Licență
  22. Jurnal de modificare a versiunii
  23. Pluginuri - Avansat
 Actions

LDAP settings/ro: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "== Definirea serverelor LDAP=="
Maren.fritz (talk | contribs)
Created page with "Găsiți mai multe informații despre structura Active Directory LDAP pe [https://technet.microsoft.com/en-us/library/bb727030.aspx Active Directory Architecture] și [https:/..."
 
(27 intermediate revisions by the same user not shown)
Line 22: Line 22:
== Definirea serverelor LDAP==
== Definirea serverelor LDAP==


First define the LDAP server connections options in "application/config/ldap.php". For each server, the following options are available:
Mai întâi definiți opțiunile de conexiune la serverul LDAP în „application/config/ldap.php”. Pentru fiecare server, sunt disponibile următoarele opțiuni:
*'''$serverId:''' An integer that identifies this LDAP server. It is used in query definitions to bind a server to a specific query;
*'''$serverId:''' Un număr întreg care identifică acest server LDAP. Este folosit în definițiile de interogare pentru a lega un server la o anumită interogare;
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'server']:''' The IP address or DNS name of the LDAP server. If you use SSL secured connections (LDAPs or LDAP+Start-TLS), this name must correspond to the server's Certificate CN (or SubjectAlternativeName);
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'server']:''' Adresa IP sau numele DNS al serverului LDAP. Dacă utilizați conexiuni securizate SSL (LDAP-uri sau LDAP+Start-TLS), acest nume trebuie să corespundă certificatului CN al serverului (sau SubjectAlternativeName);
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'protoversion']:''' Can be 'ldapv2' or 'ldapv3' depending on the protocol supported by your server. 'ldapv3' is the preferred protocol. However, if you want to use encrypted connections, note that LDAPs is supported in 'ldapv2' mode whereas Start-TLS is the encryption method for 'ldapv3';
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'protoversion']:''' Poate fi 'ldapv2' sau 'ldapv3', în funcţie de protocolul acceptat de serverul dumneavoastră. „ldapv3” este protocolul preferat. Cu toate acestea, dacă doriți să utilizați conexiuni criptate, rețineți că LDAP-urile sunt acceptate în modul „ldapv2”, în timp ce Start-TLS este metoda de criptare pentru „ldapv3”;
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'encrypt']:''' Defines the encryption method used. 'ldaps' is supported for 'ldav2' servers, 'start-tls' for 'ldapv3' servers. The 'none' keyword is used for cleartext LDAP communications;
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'encrypt']:''' Definește metoda de criptare utilizată. „ldaps” este acceptat pentru serverele „ldapv2”, „start-tls” pentru serverele „ldapv3”. Cuvântul cheie „none” este folosit pentru comunicațiile LDAP cu text clar;
** Don't forget that for 'ldaps' or 'start-tls' encryption, the webserver must be able to check the LDAP server's certificate. Thus, you need to define your Certificate Authority in your openldap library (usually this is done in the /etc/openldap/ldap.conf file under linux).
** Nu uitați că pentru criptarea „ldaps” sau „start-tls”, serverul web trebuie să poată verifica certificatul serverului LDAP. Astfel, trebuie să vă definiți autoritatea de certificare în biblioteca openldap (de obicei, acest lucru se face în fișierul /etc/openldap/ldap.conf sub Linux).
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'referrals']:''' It is a boolean parameter that defines if referrals must be followed or not (use false for ActiveDirectory);
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'referrals']:''' Este un parametru boolean care definește dacă recomandările trebuie urmate sau nu (utilizați false pentru ActiveDirectory);
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'encoding']:''' It is an optional parameter which gives the encoding used by the LDAP directory to store strings. You usually do not need to setup this parameter as the default assumed encoding, 'utf-8', is the standard encoding for LDAP directories. However, if you're using Active Directory and having problems importing accentuated strings, then try to setup this parameter to the encoding used in you area (for instance 'cp850' for West Europe). You can refer to the "Character set of the file" drop-down list in the [[Survey_participants#Import_participants_from_a_CSV_file|Import Token from CSV file]] GUI to have the full list of supported encodings.
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'encoding']:''' Este un parametru opțional care oferă codificarea folosită de directorul LDAP pentru a stoca șiruri. De obicei, nu trebuie să configurați acest parametru deoarece codarea implicită presupusă, „utf-8”, este codarea standard pentru directoarele LDAP. Cu toate acestea, dacă utilizați Active Directory și aveți probleme la importarea șirurilor accentuate, atunci încercați să setați acest parametru la codificarea folosită în zona dvs. (de exemplu, „cp850” pentru Europa de Vest). Puteți consulta lista derulantă „Setul de caractere al fișierului” din GUI [[Survey_participants#Import_participants_from_a_CSV_file|Import Token from CSV file]] pentru a avea lista completă de codificări acceptate.


Next, you need to define what authentication is needed to gain access to the directory. If 'anonymous' access is allowed, do NOT set the two following parameters, otherwise set them accordingly:
Apoi, trebuie să definiți ce autentificare este necesară pentru a obține acces la director. Dacă accesul „anonim” este permis, NU setați următorii doi parametri, altfel setați-i corespunzător:
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'binddn']:''' DN of the 'LDAP' user that is allowed to read the directory;
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'binddn']:''' DN-ul utilizatorului 'LDAP' căruia îi este permis să citească directorul;
*'''$ldap_server<nowiki>[</nowiki>$serverId]<nowiki>[</nowiki>'bindpw']:''' Password for the above LDAP user.
*'''$ldap_server<nowiki> [</nowiki> $serverId]<nowiki> [</nowiki> 'bindpw']:''' Parola pentru utilizatorul LDAP de mai sus.


If you need to define other LDAP servers, add the following line to increment the serverID and define new parameters:
Dacă trebuie să definiți alte servere LDAP, adăugați următoarea linie pentru a incrementa serverID și a defini noi parametri:
*'''$serverId++'''.
*'''$serverId++'''.


== Defining queries in config/ldap.php==
== Definirea interogărilor în config/ldap.php==


Caution: when an '''ldap attribute name''' is required in one of these parameters, '''only use lower case names''': for instance displayname and NOT displayName.
Atenție: când este necesar un „nume de atribut ldap” într-unul dintre acești parametri, „utilizați numai nume cu minuscule”: de exemplu, displayname și NU displayName.


Please refer to the config/ldap.php file as it contains samples configuration.
Vă rugăm să consultați fișierul config/ldap.php deoarece conține exemple de configurare.


=== Simple Queries===
=== Interogări simple===


Let's begin with simples queries. These queries only filter LDAP entries based on their own attributes and location. They are usually enough for querying ActiveDirectory.
Să începem cu interogări simple. Aceste interogări filtrează numai intrările LDAP pe baza propriilor atribute și locație. Ele sunt de obicei suficiente pentru interogarea ActiveDirectory.
*'''$query_id:''' is the id of the LDAP query;
*'''$query_id:''' este id-ul interogării LDAP;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'ldapServerId']:''' Binds the query to a specific server;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'ldapServerId']:''' Leagă interogarea la un anumit server;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'name']:''' String describing the query. It will be displayed in the GUI;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'nume']:''' Șir care descrie interogarea. Acesta va fi afișat în GUI;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userbase']:''' Root DN to use for user searches;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userbase']:''' DN rădăcină de utilizat pentru căutările utilizatorilor;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userfilter']:''' It is a filter used to select potential users' entries. It must be enclosed in parentheses;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userfilter']:''' Este un filtru folosit pentru a selecta intrările potenţialilor utilizatori. Trebuie să fie cuprins între paranteze;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userscope']:''' scope of the LDAP search for users ('base', 'one' or 'sub');
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userscope']: ''' domeniul de aplicare al căutării LDAP pentru utilizatori ('bază', 'unul' sau 'sub');
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'firstname_attr']:''' Ldap attribute that will be mapped to the Firstname field of the token entry;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'firstname_attr']:''' Atribut Ldap care va fi mapat la câmpul Firstname al intrării de simbol;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'lastname_attr']:''' Ldap attribute that will be mapped to the Lastname field of the token entry;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'lastname_attr']:''' Atribut Ldap care va fi mapat la câmpul Lastname al intrării de simbol;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'email_attr']:''' Ldap attribute that will be mapped to the email address field of the token entry.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'email_attr']:''' Atribut Ldap care va fi mapat la câmpul adresei de e-mail al intrării de simbol.


Optionally, you can retrieve more information from the directory:
Opțional, puteți prelua mai multe informații din directorul:
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'token_attr']:''' Ldap attribute that will be mapped to the token code;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'token_attr']:''' Atribut Ldap care va fi mapat la codul jetonului;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'language']:''' Ldap attribute that will be mapped to the user language code;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'language']:''' Atribut Ldap care va fi mapat la codul limbii utilizatorului;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'attr1']:''' Ldap attribute that will be mapped to the attribute_1 field;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'attr1']:''' Atribut Ldap care va fi mapat la câmpul attribute_1;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'attr2']:''' Ldap attribute that will be mapped to the attribute_2 field.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'attr2']:''' Atribut Ldap care va fi mapat la câmpul attribute_2.


=== Combined Group Queries with DN members===
=== Interogări de grup combinate cu membri DN===


Let's now see how to define a more complicated query.
Să vedem acum cum să definim o interogare mai complicată.


The following queries use a first LDAP search that looks into LDAP groups. An LDAP group is an LDAP entry containing references to users' entries in the form of:
Următoarele interogări utilizează o primă căutare LDAP care analizează grupurile LDAP. Un grup LDAP este o intrare LDAP care conține referințe la intrările utilizatorilor sub formă de:
* user ids (for instance posixGroups do)    ==> See the next section
* ID-uri de utilizator (de exemplu, posixGroups fac) ==> Consultați secțiunea următoare
* Or user DNs (for instance groupofnames and groupofuniquenames do) ==> see below
* Sau DN-uri de utilizator (de exemplu, groupofnames și groupofuniquenames face) => vezi mai jos


<u>Here we deal with groups containing user DNs:</u>
<u>Aici ne ocupăm de grupuri care conțin DN-uri de utilizator:</u>  
*define $query_id, $ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'ldapServerId'], $ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'name'] as explained above.
*define $query_id, $ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'ldapServerId'], $ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> „nume”] după cum s-a explicat mai sus.


Then define the group filter parameters:
Apoi definiți parametrii filtrului de grup:
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupbase']:''' The Root DN from which you want to start searching for group entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupbase']:''' DN-ul rădăcină de la care doriți să începeți căutarea intrărilor de grup;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupfilter']:''' The LDAP filter that will select potential group entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupfilter']:''' Filtrul LDAP care va selecta potențialele intrări de grup;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupscope']:''' The scope of the LDAP search for groups ('on', 'base' or 'sub');
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupscope']:''' Domeniul de aplicare al căutării LDAP pentru grupuri ('on', 'base' sau 'sub');
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupmemberattr']:''' The Name of the LDAP attribute in the group entry that will contain references to users' entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupmemberattr']:''' Numele atributului LDAP din intrarea de grup care va conține referințe la intrările utilizatorilor;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupmemberisdn']:''' '''TRUE'''.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupmemberisdn']:''' '''TRUE'''.


At this point, everything is set up to let the first LDAP search find users corresponding to the selected groups. However, you can restrict which of these "user candidates" will be selected by applying another filter on them. This is, of course, optional:
În acest moment, totul este configurat pentru a permite primei căutări LDAP să găsească utilizatorii corespunzători grupurilor selectate. Cu toate acestea, puteți restricționa care dintre acești „candidați utilizatori” vor fi selectați aplicând un alt filtru asupra lor. Acesta este, desigur, opțional:
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userbase']:''' Base DN for the user LDAP search (only user candidate matching this base) will be selected;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userbase']:''' DN-ul de bază pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu această bază) va fi selectat;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userscope']:''' Scope for the user LDAP search (only user candidate matching the userbase+scope) will be selected;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userscope']:''' Se va selecta domeniul de aplicare pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu baza de utilizatori+sfera) va fi selectat;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userfilter']:''' It is a filter that applies to each user candidate entry (on its attributes) to add another selection.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userfilter']:''' Este un filtru care se aplică fiecărei intrări candidat de utilizator (pe atributele sale) pentru a adăuga o altă selecție.


=== Combined Group Queries with UID members===
=== Interogări de grup combinate cu membri UID===


Let's now see how to define a combined Group query when group members are user UIDs and not User DNs.
Să vedem acum cum să definim o interogare de grup combinată atunci când membrii grupului sunt UID-uri utilizator și nu DN-uri utilizator.


As for the Group queries with DNs members, these queries use a first LDAP search that looks for LDAP groups entries and get their members. These members values are then used in a user search filter to search for corresponding entries. Thus another parameter must be configured to define the user attribute in the user's entry that should match the member UID found in the groups.
În ceea ce privește interogările de grup cu membri DN-uri, aceste interogări folosesc o primă căutare LDAP care caută intrări de grupuri LDAP și își obțin membrii. Aceste valori ale membrilor sunt apoi utilizate într-un filtru de căutare de utilizator pentru a căuta intrările corespunzătoare. Astfel, un alt parametru trebuie configurat pentru a defini atributul utilizatorului din intrarea utilizatorului care ar trebui să se potrivească cu UID-ul membrului găsit în grupuri.


<u>Let's review the required parameters:</u>
<u>Să revizuim parametrii necesari:</u>  
*define $query_id, $ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'ldapServerId'], $ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'name'] as explained above
*define $query_id, $ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'ldapServerId'], $ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> „nume”] după cum s-a explicat mai sus


Then define the group filter parameters:
Apoi definiți parametrii filtrului de grup:
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupbase']:''' The Root DN from which you want to start searching for group entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupbase']:''' DN-ul rădăcină de la care doriți să începeți căutarea intrărilor de grup;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupfilter']:''' The LDAP filter that will select potential group entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupfilter']:''' Filtrul LDAP care va selecta potențialele intrări de grup;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupscope']:''' The scope of the LDAP search for groups ('on', 'base' or 'sub');
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupscope']:''' Domeniul de aplicare al căutării LDAP pentru grupuri ('on', 'base' sau 'sub');
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'groupmemberattr']:''' The name of the LDAP attribute in the group entry that will contain references to users' entries;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'groupmemberattr']:''' Numele atributului LDAP din intrarea de grup care va conține referințe la intrările utilizatorilor;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>''''groupmemberisdn'''']:''' '''FALSE''';
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> ''''groupmemberisdn'''']:''' '''FALSE''';
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>''''useridattr'''']:''' name of the user attribute that must match the UID found in the group members.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> ''''useridattr'''']:''' numele atributului utilizatorului care trebuie să se potrivească cu UID-ul găsit în membrii grupului.


At this point everything is set up to let the first LDAP search find users UIDs corresponding to selected groups and a user search filter will be automatically filled.
În acest moment, totul este configurat pentru a permite primei căutări LDAP să găsească UID-urile utilizatorilor corespunzătoare grupurilor selectate și va fi completat automat un filtru de căutare a utilizatorilor.


However, you can restrict which of these 'user candidates' will be selected by completing the automatic user filter computed from member UIDs. This is, of course, optional:
Cu toate acestea, puteți restricționa care dintre acești „candidați de utilizator” vor fi selectați completând filtrul automat de utilizator calculat din UID-urile membrilor. Acesta este, desigur, opțional:
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userbase']:''' Base DN for the user LDAP search (only user candidate matching this base) will be selected;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userbase']:''' DN-ul de bază pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu această bază) va fi selectat;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userscope']:''' Scope for the user LDAP search (only user candidate matching the userbase+scope) will be selected;
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userscope']:''' Se va selecta domeniul de aplicare pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu baza de utilizatori+sfera) va fi selectat;
*'''$ldap_queries<nowiki>[</nowiki>$query_id]<nowiki>[</nowiki>'userfilter']:''' It is a filter that applies to each user candidate entry (on its attributes) to add another selection.
*'''$ldap_queries<nowiki> [</nowiki> $query_id]<nowiki> [</nowiki> 'userfilter']:''' Este un filtru care se aplică fiecărei intrări candidat de utilizator (pe atributele sale) pentru a adăuga o altă selecție.


=== What about Active Directory?===
=== Ce zici de Active Directory?===


Active Directory (AD) is a Microsoft registry that can be queried by using the LDAP protocol.
Active Directory (AD) este un registru Microsoft care poate fi interogat utilizând protocolul LDAP.


It is then possible to use its content for LimeSurvey token queries, but this requires knowledge on how AD is organized.
Apoi este posibil să se utilizeze conținutul său pentru interogări de simbol LimeSurvey, dar acest lucru necesită cunoștințe despre modul în care este organizat AD.
* The LDAP root base is dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1
* Baza rădăcină LDAP este dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1


==> For instance, if your company owns the DNS domain 'my-company.com' and your Windows domain is 'employees', then your root base is dc=employees,dc=my-company,dc=com
==> De exemplu, dacă compania dvs. deține domeniul DNS „my-company.com” și domeniul Windows este „employees”, atunci baza dvs. rădăcină este dc=employees,dc=my-company,dc=com
* Users and users-groups are stored below the cn=Users,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1 (please note this is not ou=users);
* Utilizatorii și grupurile de utilizatori sunt stocate sub cn=Users,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1 (vă rugăm să rețineți că acest lucru nu este ou=users);
* Active Directory Groups:
* Active Directory Groups:
** Groups objects contain DN of members in their 'member' attribute;
** Groups obiectele conțin DN de membri în atributul lor „member”;
** Group memberships are also stored in the memberOf attribute of each user entry. This attribute contains DNs of groups the user belongs to;
** Membrii grupurilor sunt, de asemenea, stocate în atributul memberOf al fiecărei intrări de utilizator. Acest atribut conține DN-uri ale grupurilor din care aparține utilizatorul;
** some groups are in CN=Builtin,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1:
** unele grupuri sunt în CN=Builtin,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1:
*** For instance: cn=Administrator,CN=Builtin,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1;
*** De exemplu: cn=Administrator,CN =Builtin,dc=numele_domeniului_meu_windows,dc=dns_sufix2,dc=dns_suffix1;


In some cases it is not as easy to query an active directory so here is a sample configuration for getting some infomations of an active directory:
În unele cazuri, nu este la fel de ușor să interogați un director activ, așa că iată un exemplu de configurație pentru obținerea unor informații despre un director activ:


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
//Connection to the active directory Server:
//Conexiune la directorul activ Server:
$serverId=0;
$serverId=0;
$ldap_server[$serverId]['server'] = "10.10.10.10";
$ldap_server[$serverId]['server'] = "10.10.10.10";
$ldap_server[$serverId]['port'] = "389";
$ldap_server[$serverId] ['port'] = "389";
$ldap_server[$serverId]['protoversion'] = "ldapv2";
$ldap_server[$serverId]['protoversion'] = "ldapv2";
$ldap_server[$serverId]['encrypt'] = "none"; // Most AD LDAP servers will not have encryption set by default
$ldap_server[$serverId]['encrypt'] = "niciunul"; // Majoritatea serverelor AD LDAP nu vor avea criptarea setata implicit
$ldap_server[$serverId]['referrals'] = false;
$ldap_server[$serverId]['referrals'] = false;
$ldap_server[$serverId]['binddn'] = "domain\\user";
$ldap_server[$serverId]['binddn'] = "domeniu\\utilizator „;
$ldap_server[$serverId]['bindpw'] = "userpassword";
$ldap_server[$serverId]['bindpw'] = „parolă de utilizator”;
//$ldap_server[$serverId]['binddn'] = "CN=user,OU=user_group,DC=xxx,DC=yyy"; this one will not work with active directory, that´s why you need to use "domain\\user"
//$ldap_server[$serverId]['binddn'] = „CN=utilizator, OU=grup de utilizatori, DC=xxx ,DC=aaa"; acesta nu va funcționa cu directorul activ, de aceea trebuie să utilizați „domeniu\\utilizator”
//Here is a sample query for getting all active users of an active directory:
//Iată un exemplu de interogare pentru a obține toți utilizatorii activi ai unui director activ:
$query_id=0;
$query_id=0 ;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ldap_queries[$query_id]['name'] = 'Staff with an enabled account';
$ldap_queries[$query_id]['name'] = 'Personal cu un cont activat';
$ldap_queries[$query_id]['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
$ldap_queries[$query_id] ['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
$ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(!(userAccountControl=514)))';
$ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(!(userAccountControl=514) ))';
//(!(userAccountControl=514)) you are not able to ask active directory for an active user but you are able to ask for a non inactive user
//(!(userAccountControl=514)) nu puteți cere directorului activ pentru un utilizator activ, dar puteți solicita un utilizator neinactiv
$ldap_queries[$query_id]['userscope'] = 'sub';
$ldap_queries[$query_id][ 'userscope'] = 'sub';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$query_id]['lastname_attr'] = 'sn';
$ldap_queries[$query_id]['lastname_attr'] = 'sn';
$ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['token_attr'] = ''; // Leave empty for Auto Token generation by phpsv
$ldap_queries[$query_id]['token_attr'] = ''; // Lăsați necompletat pentru generarea automată a simbolului de către phpsv
$ldap_queries[$query_id]['language'] = '';
$ldap_queries[$query_id]['language'] = ''';
$ldap_queries[$query_id]['attr1'] = '';
$ldap_queries[$query_id]['attr1'] = '';
$ldap_queries[$query_id]['attr2'] = '';
$ ldap_queries[$query_id]['attr2'] = '';
//Group filtering was not possible in active directory, you need to add the memberOf attribute of an user. Here is a sample query for getting all active users that are member of the group "samplegroup" in active directory:
//Filtrarea grupului nu a fost posibilă în directorul activ, trebuie să adăugați atributul memberOf al unui utilizator. Iată un exemplu de interogare pentru a obține toți utilizatorii activi care sunt membri ai grupului „samplegroup” în directorul activ:
$query_id++;
$query_id++;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ldap_queries[$query_id]['name'] = 'All members of samplegroup';
$ ldap_queries[$query_id]['name'] = 'Toți membrii samplegroup';
$ldap_queries[$query_id]['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
$ldap_queries[$query_id]['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
$ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(memberOf=CN=samplegroup,OU=Group Global,OU=USER_GROUP,DC=xxx,DC=yyy)(!(userAccountControl=514)))';
$ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(memberOf=CN=samplegroup,OU=Group Global,OU=USER_GROUP,DC=xxx,DC=yyy)(!(userAccountControl=514 )))';
$ldap_queries[$query_id]['userscope'] = 'sub';
$ldap_queries[$query_id]['userscope'] = 'sub';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$query_id]['lastname_attr'] = 'sn';
$ldap_queries[$ query_id]['lastname_attr'] = 'sn';
$ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['token_attr'] = ''; // Leave empty for Auto Token generation by phpsv
$ldap_queries[$query_id]['token_attr'] = ''; // Lăsați necompletat pentru generarea automată a simbolului de către phpsv
$ldap_queries[$query_id]['language'] = '';
$ldap_queries[$query_id]['language'] = ''';
$ldap_queries[$query_id]['attr1'] = '';
$ldap_queries[$query_id]['attr1'] = '';
$ldap_queries[$query_id]['attr2'] = '';
$ ldap_queries[$query_id]['attr2'] = '';
</syntaxhighlight>
</syntaxhighlight>


Another example User query:
Un alt exemplu de interogare de utilizator:
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">  
$ldap_queries[$query_id]['userfilter'] = '(&('''objectCategory=Person''')(objectClass='''user''')(!('''userAccountControl=514''')))'; // AD doesn't recognise enabled accounts in the normal way, so instead, we check users are not disabled
$ldap_queries[$query_id]['userfilter'] = '(&('''objectCategory=Person''')(objectClass='''user''')(!('''userAccountControl=514' '')))'; // AD nu recunoaște conturile activate în mod normal, așa că, în schimb, verificăm că utilizatorii nu sunt dezactivați
</syntaxhighlight>
</syntaxhighlight>  
* As suggested in the config file, consider adding (!(email=*)) to your user filters to ignore users with no email address.
* După cum este sugerat în fișierul de configurare, luați în considerare adăugarea (!(email=*)) la filtrele dvs. de utilizator pentru a ignora utilizatorii fără adresă de e-mail.


Example group query:
Exemplu de interogare de grup:


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
$ldap_queries[$query_id]['groupfilter'] = '(&(objectClass='''group''')(cn=Domain Admins))'; // AD doesn't use the standard attribute name for groups, so use this example instead.
$ldap_queries[$query_id]['groupfilter'] = '(&(objectClass='''grup''')(cn=Administratori de domeniu))'; // AD nu folosește numele atributului standard pentru grupuri, așa că folosiți acest exemplu.
</syntaxhighlight>
</syntaxhighlight>


Find more information about the Active Directory LDAP structure on [https://technet.microsoft.com/en-us/library/bb727030.aspx Active Directory Architecture] and [https://msdn.microsoft.com/en-us/library/cc223122.aspx Active Directory Technical Specification].
Găsiți mai multe informații despre structura Active Directory LDAP pe [https://technet.microsoft.com/en-us/library/bb727030.aspx Active Directory Architecture] și [https://msdn.microsoft.com/en-us/ library/cc223122.aspx Specificații tehnice Active Directory].

Latest revision as of 09:21, 3 November 2023

  Atenție : Această caracteristică permite administratorilor de sondaj LimeSurvey să importe jetoane prin LDAP. Dacă aveți nevoie de o autentificare LDAP, vă rugăm să consultați AuthLDAP plugin.


General

Trebuie să activați suportul LDAP în config.php și să configurați parametrii LDAP în config/ldap.php pentru a utiliza această funcție.

Template:Alerta

Activarea LDAP în config.php

  • $enableLdap: dacă doriți să utilizați funcțiile LDAP în LimeSurvey, trebuie să setați acest parametru la true (este setat implicit la false):
'config'=>array(
 'debug'=>0,
 'debugsql'=>0,
 'enableLdap'=>true,
 )

Definirea serverelor LDAP

Mai întâi definiți opțiunile de conexiune la serverul LDAP în „application/config/ldap.php”. Pentru fiecare server, sunt disponibile următoarele opțiuni:

  • $serverId: Un număr întreg care identifică acest server LDAP. Este folosit în definițiile de interogare pentru a lega un server la o anumită interogare;
  • $ldap_server [ $serverId] [ 'server']: Adresa IP sau numele DNS al serverului LDAP. Dacă utilizați conexiuni securizate SSL (LDAP-uri sau LDAP+Start-TLS), acest nume trebuie să corespundă certificatului CN al serverului (sau SubjectAlternativeName);
  • $ldap_server [ $serverId] [ 'protoversion']: Poate fi 'ldapv2' sau 'ldapv3', în funcţie de protocolul acceptat de serverul dumneavoastră. „ldapv3” este protocolul preferat. Cu toate acestea, dacă doriți să utilizați conexiuni criptate, rețineți că LDAP-urile sunt acceptate în modul „ldapv2”, în timp ce Start-TLS este metoda de criptare pentru „ldapv3”;
  • $ldap_server [ $serverId] [ 'encrypt']: Definește metoda de criptare utilizată. „ldaps” este acceptat pentru serverele „ldapv2”, „start-tls” pentru serverele „ldapv3”. Cuvântul cheie „none” este folosit pentru comunicațiile LDAP cu text clar;
    • Nu uitați că pentru criptarea „ldaps” sau „start-tls”, serverul web trebuie să poată verifica certificatul serverului LDAP. Astfel, trebuie să vă definiți autoritatea de certificare în biblioteca openldap (de obicei, acest lucru se face în fișierul /etc/openldap/ldap.conf sub Linux).
  • $ldap_server [ $serverId] [ 'referrals']: Este un parametru boolean care definește dacă recomandările trebuie urmate sau nu (utilizați false pentru ActiveDirectory);
  • $ldap_server [ $serverId] [ 'encoding']: Este un parametru opțional care oferă codificarea folosită de directorul LDAP pentru a stoca șiruri. De obicei, nu trebuie să configurați acest parametru deoarece codarea implicită presupusă, „utf-8”, este codarea standard pentru directoarele LDAP. Cu toate acestea, dacă utilizați Active Directory și aveți probleme la importarea șirurilor accentuate, atunci încercați să setați acest parametru la codificarea folosită în zona dvs. (de exemplu, „cp850” pentru Europa de Vest). Puteți consulta lista derulantă „Setul de caractere al fișierului” din GUI Import Token from CSV file pentru a avea lista completă de codificări acceptate.

Apoi, trebuie să definiți ce autentificare este necesară pentru a obține acces la director. Dacă accesul „anonim” este permis, NU setați următorii doi parametri, altfel setați-i corespunzător:

  • $ldap_server [ $serverId] [ 'binddn']: DN-ul utilizatorului 'LDAP' căruia îi este permis să citească directorul;
  • $ldap_server [ $serverId] [ 'bindpw']: Parola pentru utilizatorul LDAP de mai sus.

Dacă trebuie să definiți alte servere LDAP, adăugați următoarea linie pentru a incrementa serverID și a defini noi parametri:

  • $serverId++.

Definirea interogărilor în config/ldap.php

Atenție: când este necesar un „nume de atribut ldap” într-unul dintre acești parametri, „utilizați numai nume cu minuscule”: de exemplu, displayname și NU displayName.

Vă rugăm să consultați fișierul config/ldap.php deoarece conține exemple de configurare.

Interogări simple

Să începem cu interogări simple. Aceste interogări filtrează numai intrările LDAP pe baza propriilor atribute și locație. Ele sunt de obicei suficiente pentru interogarea ActiveDirectory.

  • $query_id: este id-ul interogării LDAP;
  • $ldap_queries [ $query_id] [ 'ldapServerId']: Leagă interogarea la un anumit server;
  • $ldap_queries [ $query_id] [ 'nume']: Șir care descrie interogarea. Acesta va fi afișat în GUI;
  • $ldap_queries [ $query_id] [ 'userbase']: DN rădăcină de utilizat pentru căutările utilizatorilor;
  • $ldap_queries [ $query_id] [ 'userfilter']: Este un filtru folosit pentru a selecta intrările potenţialilor utilizatori. Trebuie să fie cuprins între paranteze;
  • $ldap_queries [ $query_id] [ 'userscope']: domeniul de aplicare al căutării LDAP pentru utilizatori ('bază', 'unul' sau 'sub');
  • $ldap_queries [ $query_id] [ 'firstname_attr']: Atribut Ldap care va fi mapat la câmpul Firstname al intrării de simbol;
  • $ldap_queries [ $query_id] [ 'lastname_attr']: Atribut Ldap care va fi mapat la câmpul Lastname al intrării de simbol;
  • $ldap_queries [ $query_id] [ 'email_attr']: Atribut Ldap care va fi mapat la câmpul adresei de e-mail al intrării de simbol.

Opțional, puteți prelua mai multe informații din directorul:

  • $ldap_queries [ $query_id] [ 'token_attr']: Atribut Ldap care va fi mapat la codul jetonului;
  • $ldap_queries [ $query_id] [ 'language']: Atribut Ldap care va fi mapat la codul limbii utilizatorului;
  • $ldap_queries [ $query_id] [ 'attr1']: Atribut Ldap care va fi mapat la câmpul attribute_1;
  • $ldap_queries [ $query_id] [ 'attr2']: Atribut Ldap care va fi mapat la câmpul attribute_2.

Interogări de grup combinate cu membri DN

Să vedem acum cum să definim o interogare mai complicată.

Următoarele interogări utilizează o primă căutare LDAP care analizează grupurile LDAP. Un grup LDAP este o intrare LDAP care conține referințe la intrările utilizatorilor sub formă de:

  • ID-uri de utilizator (de exemplu, posixGroups fac) ==> Consultați secțiunea următoare
  • Sau DN-uri de utilizator (de exemplu, groupofnames și groupofuniquenames face) => vezi mai jos

Aici ne ocupăm de grupuri care conțin DN-uri de utilizator:

  • define $query_id, $ldap_queries [ $query_id] [ 'ldapServerId'], $ldap_queries [ $query_id] [ „nume”] după cum s-a explicat mai sus.

Apoi definiți parametrii filtrului de grup:

  • $ldap_queries [ $query_id] [ 'groupbase']: DN-ul rădăcină de la care doriți să începeți căutarea intrărilor de grup;
  • $ldap_queries [ $query_id] [ 'groupfilter']: Filtrul LDAP care va selecta potențialele intrări de grup;
  • $ldap_queries [ $query_id] [ 'groupscope']: Domeniul de aplicare al căutării LDAP pentru grupuri ('on', 'base' sau 'sub');
  • $ldap_queries [ $query_id] [ 'groupmemberattr']: Numele atributului LDAP din intrarea de grup care va conține referințe la intrările utilizatorilor;
  • $ldap_queries [ $query_id] [ 'groupmemberisdn']: TRUE.

În acest moment, totul este configurat pentru a permite primei căutări LDAP să găsească utilizatorii corespunzători grupurilor selectate. Cu toate acestea, puteți restricționa care dintre acești „candidați utilizatori” vor fi selectați aplicând un alt filtru asupra lor. Acesta este, desigur, opțional:

  • $ldap_queries [ $query_id] [ 'userbase']: DN-ul de bază pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu această bază) va fi selectat;
  • $ldap_queries [ $query_id] [ 'userscope']: Se va selecta domeniul de aplicare pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu baza de utilizatori+sfera) va fi selectat;
  • $ldap_queries [ $query_id] [ 'userfilter']: Este un filtru care se aplică fiecărei intrări candidat de utilizator (pe atributele sale) pentru a adăuga o altă selecție.

Interogări de grup combinate cu membri UID

Să vedem acum cum să definim o interogare de grup combinată atunci când membrii grupului sunt UID-uri utilizator și nu DN-uri utilizator.

În ceea ce privește interogările de grup cu membri DN-uri, aceste interogări folosesc o primă căutare LDAP care caută intrări de grupuri LDAP și își obțin membrii. Aceste valori ale membrilor sunt apoi utilizate într-un filtru de căutare de utilizator pentru a căuta intrările corespunzătoare. Astfel, un alt parametru trebuie configurat pentru a defini atributul utilizatorului din intrarea utilizatorului care ar trebui să se potrivească cu UID-ul membrului găsit în grupuri.

Să revizuim parametrii necesari:

  • define $query_id, $ldap_queries [ $query_id] [ 'ldapServerId'], $ldap_queries [ $query_id] [ „nume”] după cum s-a explicat mai sus

Apoi definiți parametrii filtrului de grup:

  • $ldap_queries [ $query_id] [ 'groupbase']: DN-ul rădăcină de la care doriți să începeți căutarea intrărilor de grup;
  • $ldap_queries [ $query_id] [ 'groupfilter']: Filtrul LDAP care va selecta potențialele intrări de grup;
  • $ldap_queries [ $query_id] [ 'groupscope']: Domeniul de aplicare al căutării LDAP pentru grupuri ('on', 'base' sau 'sub');
  • $ldap_queries [ $query_id] [ 'groupmemberattr']: Numele atributului LDAP din intrarea de grup care va conține referințe la intrările utilizatorilor;
  • $ldap_queries [ $query_id] [ 'groupmemberisdn']: FALSE;
  • $ldap_queries [ $query_id] [ 'useridattr']: numele atributului utilizatorului care trebuie să se potrivească cu UID-ul găsit în membrii grupului.

În acest moment, totul este configurat pentru a permite primei căutări LDAP să găsească UID-urile utilizatorilor corespunzătoare grupurilor selectate și va fi completat automat un filtru de căutare a utilizatorilor.

Cu toate acestea, puteți restricționa care dintre acești „candidați de utilizator” vor fi selectați completând filtrul automat de utilizator calculat din UID-urile membrilor. Acesta este, desigur, opțional:

  • $ldap_queries [ $query_id] [ 'userbase']: DN-ul de bază pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu această bază) va fi selectat;
  • $ldap_queries [ $query_id] [ 'userscope']: Se va selecta domeniul de aplicare pentru căutarea LDAP de utilizator (numai candidatul de utilizator care se potrivește cu baza de utilizatori+sfera) va fi selectat;
  • $ldap_queries [ $query_id] [ 'userfilter']: Este un filtru care se aplică fiecărei intrări candidat de utilizator (pe atributele sale) pentru a adăuga o altă selecție.

Ce zici de Active Directory?

Active Directory (AD) este un registru Microsoft care poate fi interogat utilizând protocolul LDAP.

Apoi este posibil să se utilizeze conținutul său pentru interogări de simbol LimeSurvey, dar acest lucru necesită cunoștințe despre modul în care este organizat AD.

  • Baza rădăcină LDAP este dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1

==> De exemplu, dacă compania dvs. deține domeniul DNS „my-company.com” și domeniul Windows este „employees”, atunci baza dvs. rădăcină este dc=employees,dc=my-company,dc=com

* Utilizatorii și grupurile de utilizatori sunt stocate sub cn=Users,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1 (vă rugăm să rețineți că acest lucru nu este ou=users);
  • Active Directory Groups:
    • Groups obiectele conțin DN de membri în atributul lor „member”;
    • Membrii grupurilor sunt, de asemenea, stocate în atributul memberOf al fiecărei intrări de utilizator. Acest atribut conține DN-uri ale grupurilor din care aparține utilizatorul;
    • unele grupuri sunt în CN=Builtin,dc=my_windows_domain_name,dc=dns_suffix2,dc=dns_suffix1:
      • De exemplu: cn=Administrator,CN =Builtin,dc=numele_domeniului_meu_windows,dc=dns_sufix2,dc=dns_suffix1;

În unele cazuri, nu este la fel de ușor să interogați un director activ, așa că iată un exemplu de configurație pentru obținerea unor informații despre un director activ:

//Conexiune la directorul activ Server:
$serverId=0;
$ldap_server[$serverId]['server'] = "10.10.10.10";
$ldap_server[$serverId] ['port'] = "389";
$ldap_server[$serverId]['protoversion'] = "ldapv2";
$ldap_server[$serverId]['encrypt'] = "niciunul"; // Majoritatea serverelor AD LDAP nu vor avea criptarea setata implicit
$ldap_server[$serverId]['referrals'] = false;
$ldap_server[$serverId]['binddn'] = "domeniu\\utilizator „;
$ldap_server[$serverId]['bindpw'] = „parolă de utilizator”;
//$ldap_server[$serverId]['binddn'] = „CN=utilizator, OU=grup de utilizatori, DC=xxx ,DC=aaa"; acesta nu va funcționa cu directorul activ, de aceea trebuie  utilizați „domeniu\\utilizator”
//Iată un exemplu de interogare pentru a obține toți utilizatorii activi ai unui director activ:
$query_id=0 ;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ldap_queries[$query_id]['name'] = 'Personal cu un cont activat';
$ldap_queries[$query_id] ['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
$ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(!(userAccountControl=514) ))';
//(!(userAccountControl=514)) nu puteți cere directorului activ pentru un utilizator activ, dar puteți solicita un utilizator neinactiv
$ldap_queries[$query_id][ 'userscope'] = 'sub';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$query_id]['lastname_attr'] = 'sn';
 $ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['token_attr'] = ''; // Lăsați necompletat pentru generarea automată a simbolului de către phpsv
$ldap_queries[$query_id]['language'] = ''';
$ldap_queries[$query_id]['attr1'] = '';
$ ldap_queries[$query_id]['attr2'] = '';
//Filtrarea grupului nu a fost posibilă în directorul activ, trebuie să adăugați atributul memberOf al unui utilizator. Iată un exemplu de interogare pentru a obține toți utilizatorii activi care sunt membri ai grupului „samplegroup” în directorul activ:
$query_id++;
$ldap_queries[$query_id]['ldapServerId'] = 0;
$ ldap_queries[$query_id]['name'] = 'Toți membrii samplegroup';
$ldap_queries[$query_id]['userbase'] = 'OU=USER_GROUP,DC=xxx,DC=yyy';
 $ldap_queries[$query_id]['userfilter'] = '(&(objectClass=user)(memberOf=CN=samplegroup,OU=Group Global,OU=USER_GROUP,DC=xxx,DC=yyy)(!(userAccountControl=514 )))';
$ldap_queries[$query_id]['userscope'] = 'sub';
$ldap_queries[$query_id]['firstname_attr'] = 'givenname';
$ldap_queries[$ query_id]['lastname_attr'] = 'sn';
$ldap_queries[$query_id]['email_attr'] = 'mail';
$ldap_queries[$query_id]['token_attr'] = ''; // Lăsați necompletat pentru generarea automată a simbolului de către phpsv
$ldap_queries[$query_id]['language'] = ''';
$ldap_queries[$query_id]['attr1'] = '';
$ ldap_queries[$query_id]['attr2'] = '';

Un alt exemplu de interogare de utilizator:

 
$ldap_queries[$query_id]['userfilter'] = '(&('''objectCategory=Person''')(objectClass='''user''')(!('''userAccountControl=514' '')))'; // AD nu recunoaște conturile activate în mod normal, așa că, în schimb, verificăm că utilizatorii nu sunt dezactivați
  • După cum este sugerat în fișierul de configurare, luați în considerare adăugarea (!(email=*)) la filtrele dvs. de utilizator pentru a ignora utilizatorii fără adresă de e-mail.

Exemplu de interogare de grup:

$ldap_queries[$query_id]['groupfilter'] = '(&(objectClass='''grup''')(cn=Administratori de domeniu))'; // AD nu folosește numele atributului standard pentru grupuri, așa că folosiți acest exemplu.

Găsiți mai multe informații despre structura Active Directory LDAP pe Active Directory Architecture și library/cc223122.aspx Specificații tehnice Active Directory.