C2. Autenticazione se si usa LDAP

Le impostazioni sono riportate nel file di configurazione auth-ldap.conf.

I tag principali del file di configurazione sono:

<enabled/> e <order/> – sono analoghi alla variante per Active Directory.

<server/> imposta l'indirizzo del server LDAP.

<user-dn/> determina le regole di traduzione dei nomi in DN con l'impiego di maschere analoghe a maschere DOS.

Nel tag <user-dn/> è ammesso l'utilizzo dei caratteri jolly:

* sostituisce una sequenza di caratteri ad eccezione di . , = @ \ e di spazi;

# sostituisce una sequenza di caratteri.

<user-dn-expr/> determina le regole di traduzione dei nomi in DN con l'impiego di espressioni regolari.

Per esempio, questa è la stessa regola in diverse varianti:

<user-dn user="*@example.com" dn="CN=\1,DC=example,DC=com"/>
<user-dn-expr user="(.*)@example.com" dn="CN=\1,DC=example,DC=com"/>

\1 .. \9 determina il posto per mettere nel pattern i valori *, # o espressioni tra parentesi.

Secondo questo principio: se il nome utente è scritto come login@example.com, in seguito alla traduzione risulta il DN: "CN=login,DC=example,DC=com".

<user-dn-extension-enabled/> consente l'esecuzione dello script Lua ldap_user_dn_translate.ds (dalla directory extensions) per tradurre il nome utente in DN. Questo script viene eseguito dopo i tentativi di utilizzo di tutte le regole user-dn, user-dn-expr in caso se non è stata trovata nessuna regola appropriata. Lo script ha un singolo parametro – il nome utente immesso. Lo script restituisce una stringa che contiene DN o nulla. In caso se non è stata trovata nessuna regola appropriata e lo script non è abilitato oppure non ha restituito niente, il nome utente immesso viene usato così com'è.

L’attributo dell'oggetto LDAP per il DN ottenuto come risultato di traduzione e i suoi possibili valori possono essere ridefiniti dal seguente tag (sono indicati i valori di default):

<!-- DrWebAdmin attribute equivalent (OID 1.3.6.1.4.1.29690.1.3.1) -->
<admin-attribute-name value="DrWebAdmin" true-value="^TRUE$" false-value="^FALSE$"/>

Come valori di parametri true-value/false-value vengono impostate espressioni regolari.

Se ci sono valori non definiti dell'attributo amministratore, allora nel caso in cui nel file di configurazione viene impostato il tag <group-reference-attribute-name value="memberOf"/>, il valore dell'attributo memberOf viene considerato come una lista di gruppi DN in cui rientra questo amministratore, e la ricerca degli attributi richiesti in questi gruppi viene eseguita allo stesso modo del caso di uso di Active Directory.