feat: implement user creation, editing, and deletion functionality ALL features are working

This commit is contained in:
Morph01
2025-02-04 16:35:30 -08:00
parent 2baa69fe34
commit e3243dd018
11 changed files with 330 additions and 296 deletions

View File

@@ -0,0 +1,35 @@
<?php
require_once __DIR__ . '/../models/LDAPAuth.php';
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// Vérifier les permissions
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
header('Location: ../auth.php');
exit;
}
// Récupérer les données de la session et du formulaire
$admin_username = $_SESSION['sAMAccountName']; // sAMAccountName de l'admin connecté
$user_dn = urldecode($_GET['dn']); // DN de l'utilisateur à supprimer
// Vérifier que l'admin a les droits sur l'OU de l'utilisateur
$ldapAuth = new LDAPAuth();
$user_ou = $ldapAuth->getUserOUFromDN($user_dn);
if ($user_ou === null || !in_array($user_ou, $_SESSION['admin_ous'])) {
die("Accès non autorisé");
}
// Tenter la suppression
try {
if ($ldapAuth->deleteUserWithAdminAuth($user_dn, $admin_username, $_SESSION['password'])) {
header("Location: ../views/list_users.php?ou=" . urlencode($user_ou));
} else {
die("Erreur lors de la suppression.");
}
} catch (Exception $e) {
die("Erreur : " . $e->getMessage());
}