Documentation:OCSsynchroLDAP/fr
Contents |
Administrer l'authentification par LDAP
Il est possible de déléguer l'authentification à l'interface d'administration d'OCSInventory NG à une base annexe. Certains modules ont déjà été développés et sont disponibles en natif avec la version 2.0.
Nous allons donc voir comment déléguer la connexion à la GUI d'OCSInventory NG à un annuaire LDAP.
| Note: Pour cette documentation, nous avons monté un LDAP à partir de la documentation suivante : http://doc.ubuntu-fr.org/openldap-server et nous avons gardé la configuration par défaut. |
Connexion à l'interface d'administration d'OCS Inventory NG avec un compte administrateur
Allez dans la partie configuration LDAP
Les premiers champs de configuration concernent la manière de se connecter à l'annuaire LDAP
Pour notre exemple :
- la base est en local
- le compte administrateur est admin
- le mot de passe du compte admin est secret
- la base écoute sur le port par défaut
- le login de connexion sera basé sur le champ uid
Le reste des champs de configuration concerne les droits de l'utilisateur sur l'interface d'administration d'OCSInventory NG.
Pour notre exemple:
- si l'utilisateur qui se connecte par le LDAP a le champ title à System Administrator, il aura automatiquement les droits du profil Super administrateur.
- si la valeur de ce champ est Employee, il aura les droits du profil Administrateurs locaux.
- dans les autres cas, les utilisateurs LDAP n'auront aucun profil OCS attribué
Il ne reste plus qu'à modifier la méthode de connexion à l'interface d'administration d'OCS Inventory NG. Pour cela, vous allez devoir éditer deux fichiers dans le répertoire /ocsreports.
Modification du fichier /backend/AUTH/auth.php
Pour ce fichier, plusieurs possibilités :
- Modifier le type de connexion pour n'avoir qu'une authentification par LDAP. Pour celà, commentez la ligne
$list_methode=array(0=>"local.php");
et décommentez la ligne du dessous
$list_methode=array(0=>"ldap.php");
Par contre, si vous voulez coupler la connexion LDAP à la connexion classique (base de données mysql ocsweb), vous devez modifier la ligne de la manière suivante :
$list_methode=array(0=>"ldap.php",1=>"local.php");
Modifier le formulaire de connexion
Si vous ne modifiez pas la ligne
$affich_method='HTML';
vous garderez alors le page de connexion "classique".
En revanche, si vous remplacez HTML par SSO
$affich_method='SSO';
la demande d' identifiant/mot de passe sera sous cette forme
| Note: Dans ce cas, le choix de la langue ne sera plus disponible directement. Il vous faudra la choisir et la figer dans le fichier var.php |
Modification du fichier backend/identity/identity.php
Ce fichier permet de définir les droits que va avoir le compte connecté dans l'interface d'administration d'OCS Inventory NG. Pour que ces droits soient délégués à une base annexe, dans notre cas un annuaire LDAP, il faut modifier la ligne
$list_methode=array(0=>"local.php");
par
$list_methode=array(0=>"ldap.php");
Il est également possible de garder les 2 modes de connexion à l'interface d'administration en remplaçant la ligne par
$list_methode=array(0=>"ldap.php",1=>"local.php")
Dans ce cas, les droits seront récupérés dans l'annuaire LDAP, et seront complétés par ceux trouvés en local.
Cas pratique avec exemple
En se basant sur la base LDAP créée au début, et en ayant effectué les modifications expliquées dans les paragraphes précédents, nous pouvons donc nous connecter avec l'utilisateur John/password
A la connexion, il aura automatiquement les droits du profil Super administrateur.
Son compte sera créé directement dans la base de données ocsweb avec les informations du LDAP. Son mot de passe ne sera pas stocké.
En revanche, l'utilisateur george, pourra bien s'identifier mais ne pourra pas se connecter directement. En effet, nous lui avons attribué par défaut un profil Administrateur local, qui a une vue restreinte sur le parc de machines. Donc, à la connexion de cet utilisateur, il aura le message suivant :
Pour que cet utilisateur puisse accéder à l'interface d'administration d'OCS Inventory NG, il faudra qu'un Super Administrateur lui donne accès aux TAG qui l'intéresse.



