Qu'est-ce qu'un Active Directory ?
L’Active Directory, souvent abrégé AD, est un service d’annuaire de Microsoft qui permet de centraliser la gestion des utilisateurs, des ordinateurs, des groupes et des droits d’accès au sein d’un réseau d’entreprise. Il sert principalement à authentifier les utilisateurs et à leur donner accès aux ressources selon leur profil, depuis un serveur central appelé contrôleur de domaine.
Intégration à GSB
Dans le cadre du projet GSB, j’ai mis en place l’utilisation d’un Active Directory afin de gérer les utilisateurs de manière centralisée. Cela signifie que les comptes des employés ne sont pas gérés directement dans l’application, mais dans l’annuaire de l’entreprise, ce qui permet d’unifier l’authentification et de mieux sécuriser l’accès aux ressources.
Centralisation de l'authentification
Dans le cadre du projet, la sécurité et la centralisation sont primordiales. Au lieu de gérer une base de données de mots de passe isolée pour l’application web, j’ai choisi d’interfacer Symfony 8 directement avec l’Active Directory de l’entreprise.
Le fichier .env.local stocke les variables d’environnement de mon projet GSB. C’est ici que je déclare l’URL de connexion au serveur Active Directory ainsi que le compte de service utilisé pour la liaison.

Configuration hybride
Cette configuration montre le mécanisme d’authentification de l’application GSB :
- Authentification : Grâce à
form_login_ldap, Symfony recherche l’utilisateur dans l’Active Directory. C’est le serveur Windows qui vérifie si le mot de passe saisi est correct. - Autorisation : Une fois l’authentification validée, Symfony charge le profil de l’utilisateur depuis MariaDB. Cela permet de lier l’authentification Windows avec les rôles de l’application web.

Structuration logique du domaine
Au lieu de mélanger tous les comptes, j’ai créé une Unité d’Organisation spécifique nommée GSB_App afin d’isoler les éléments liés à l’application.
- Les comptes utilisateurs correspondant aux employés.
- Les groupes de sécurité : Admin, Comptable et Visiteur.

Attribution des rôles via LDAP
Chaque utilisateur est assigné à un groupe de sécurité spécifique dans l’Active Directory. Lors de la connexion, Symfony lit cette appartenance via le protocole LDAP.
L’application traduit ensuite ce groupe Windows en rôle Symfony (par exemple ROLE_ADMIN) afin d’autoriser uniquement les fonctionnalités adaptées au profil connecté, sans aucune intervention manuelle sur la base de données web.

Synchronisation bidirectionnelle
La communication fonctionne dans les deux sens : les données modifiées depuis l’interface web de GSB, comme le numéro de téléphone ou l’adresse mail de l'employé, sont directement injectées dans sa fiche Active Directory côté serveur Windows.
L’Active Directory reste ainsi la base de données de référence de l’entreprise (Single Source of Truth), toujours tenue à jour grâce à l’application GSB.
