Synchronisation du compte LDAP dans la base Abuledu SF¶
Lorsque l'utilisateur se connecte sur le serveur sf, l'utilisateur sera ajouté et ses permissions seront mise à jour.
Fichier de synchronisation Ldap
lib/ldapsynch.class.php
Fichier de validation de l'utilisateur
plugins/sfDoctrineGuardPlugin/lib/validator/sfGuardValidatorUser.class.php
- Si l'utilisateur utilise un domaine dont les paramètres correspondent à un serveur LDAP
- Alors on récupère l'utilisateur dans la base SF en fonction de son domaine et de son login
- Si l'utilisateur n'existe pas on le créé (sans enregistrer)
- Vérifie le mot de passe et l'utilisateur dans la base LDAP => Sort si KO
- On récupère les informations de l'utilisateur et enregistre s'il n'existe pas
- Synchronise l'utilisateur dans tous les cas
- Ajoute les droits administrateur du domaine ou supprime si pas admin
- Ajoute les droits de responsable ou supprime si pas resp (cas de l'enseignant)
- Création des groupes de l'utilisateur dans la base SF (détache l'utilisateur dont il ne fait plus partie)
- Création des groupes de classe en fonction de l'utilisateur (vérifie la description du groupe qu'elle contient : horizon-classe)
Ajoute l'utilisateur au groupe approprié
# enseignants # eleves # responsable-legal # user-ent # Domain Admins
Fichier de configuration de la synchronisation LDAP
apps/serveursf/config/app.yml et
apps/backabuledu/config/app.yml
ldap: account_prefix : "uid=" # Préfixe pour la connexion utilisateur account_suffix : ",ou=utilisateurs" base_dn : "dc=" # Préfixe Nom de la base resp_group: resp-* # Liste de tous les groupes commencant par resp- recherche un responsable dans la base LDAP admin_group: 'Domain Admins' # Nom du groupe contenant l'administrateur du domaine dans la base LDAP eleves: 'eleves' # Nom du groupe élèves prof: 'prof' # Nom du groupe professeurs parents: 'parents' # Nom du groupe parents permission_resp: resp # Nom du groupe responsable dans la base SF permission_admin_domaine: 'admin domaine' # Nom du groupe admin domaine dans la base SF