['top', 'person', 'organizationalPerson', 'user'], 'cn' => $_POST['username'], 'givenName' => $_POST['firstname'], 'sn' => $_POST['lastname'], 'mail' => $_POST['email'], 'sAMAccountName' => $_POST['username'], 'userAccountControl' => '512', // Activer le compte 'displayName' => $_POST['firstname'] . ' ' . $_POST['lastname'], 'userPrincipalName' => $_POST['username'] . '@epul3a.local', 'unicodePwd' => $crypted_password ]; // Vérifier que l'admin a les droits sur l'OU cible $ldapAuth = new LDAPAuth(); if (!in_array($ou_dn, $_SESSION['admin_ous'])) { die("Accès non autorisé"); } // Tenter la création try { $user_dn = "CN=" . $_POST['username'] . "," . $ou_dn; if ($ldapAuth->addUserWithAdminAuth($user_dn, $entry, $admin_username, $_SESSION['password'])) { // Ajouter l'utilisateur au groupe d'administration si nécessaire if ($role === 'admin') { $group_dn = ''; if ($ou_dn === 'OU=3AFISA,DC=epul3a,DC=local') { $group_dn = 'CN=Domain Admins,CN=Users,DC=epul3a,DC=local'; } elseif ($ou_dn === 'CN=Users,DC=epul3a,DC=local') { $group_dn = 'CN=Enterprise Admins,CN=Users,DC=epul3a,DC=local'; } if (!empty($group_dn)) { $ldapAuth->addUserToGroup($user_dn, $group_dn, $admin_username, $_SESSION['password']); } } header("Location: ../views/list_users.php?ou=" . urlencode($ou_dn)); } else { die("Erreur lors de la création."); } } catch (Exception $e) { die("Erreur : " . $e->getMessage()); }