feat: delegation administration IS WORKING
This commit is contained in:
@@ -24,7 +24,7 @@ class AuthController
|
|||||||
$_SESSION['is_admin'] = $result['is_admin'];
|
$_SESSION['is_admin'] = $result['is_admin'];
|
||||||
$_SESSION['admin_ous'] = $result['admin_ous']; // Stocker les OUs administrables
|
$_SESSION['admin_ous'] = $result['admin_ous']; // Stocker les OUs administrables
|
||||||
$_SESSION['password'] = $_POST['user_password'];
|
$_SESSION['password'] = $_POST['user_password'];
|
||||||
header('Location: /index.php');
|
header('Location: ../views/menu.php');
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
$error_message = 'Identifiants incorrects';
|
$error_message = 'Identifiants incorrects';
|
||||||
|
|||||||
@@ -18,3 +18,26 @@ function getUserOU($username)
|
|||||||
$ldapAuth = new LDAPAuth();
|
$ldapAuth = new LDAPAuth();
|
||||||
return $ldapAuth->getUserOU($username);
|
return $ldapAuth->getUserOU($username);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function listUsers()
|
||||||
|
{
|
||||||
|
if (!isset($_SESSION["is_admin"])) {
|
||||||
|
die("Accès non autorisé");
|
||||||
|
}
|
||||||
|
|
||||||
|
$ldapAuth = new LDAPAuth();
|
||||||
|
|
||||||
|
if (isset($_GET['ou'])) {
|
||||||
|
// Lister les utilisateurs d'une OU spécifique
|
||||||
|
$ou_dn = urldecode($_GET['ou']);
|
||||||
|
if (!in_array($ou_dn, $_SESSION['admin_ous'])) {
|
||||||
|
die("Vous n'avez pas les droits sur cette OU");
|
||||||
|
}
|
||||||
|
$users = $ldapAuth->listUsersByOU($ou_dn);
|
||||||
|
} else {
|
||||||
|
// Lister tous les utilisateurs des OUs administrées
|
||||||
|
$users = $ldapAuth->listUsersByOUs($_SESSION['admin_ous']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $users;
|
||||||
|
}
|
||||||
|
|||||||
@@ -70,39 +70,36 @@ class LDAPAuth
|
|||||||
|
|
||||||
private function isUserAdmin($user_dn)
|
private function isUserAdmin($user_dn)
|
||||||
{
|
{
|
||||||
$this->connect();
|
|
||||||
$this->bindServiceAccount();
|
|
||||||
|
|
||||||
// Vérifier l'attribut adminCount
|
|
||||||
$filter = "(objectClass=user)";
|
|
||||||
$attributes = ["adminCount"];
|
|
||||||
|
|
||||||
$result = ldap_read($this->ad, $user_dn, $filter, $attributes);
|
|
||||||
$entries = ldap_get_entries($this->ad, $result);
|
|
||||||
|
|
||||||
if ($entries['count'] > 0 && isset($entries[0]['admincount'][0]) && $entries[0]['admincount'][0] == 1) {
|
|
||||||
return true; // L'utilisateur est un administrateur
|
|
||||||
}
|
|
||||||
|
|
||||||
// Vérifier les groupes d'administration
|
|
||||||
$admin_groups = [
|
$admin_groups = [
|
||||||
"CN=Domain Admins,CN=Users,DC=epul3a,DC=local",
|
"CN=Domain Admins,CN=Users,DC=epul3a,DC=local",
|
||||||
"CN=Enterprise Admins,CN=Users,DC=epul3a,DC=local",
|
"CN=Enterprise Admins,CN=Users,DC=epul3a,DC=local",
|
||||||
"CN=Schema Admins,CN=Users,DC=epul3a,DC=local",
|
"CN=Schema Admins,CN=Users,DC=epul3a,DC=local",
|
||||||
"CN=Group Policy Creator Owners,CN=Users,DC=epul3a,DC=local",
|
"CN=Group Policy Creator Owners,CN=Users,DC=epul3a,DC=local"
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($admin_groups as $admin_group_dn) {
|
foreach ($admin_groups as $group_dn) {
|
||||||
$filter = "(memberOf:1.2.840.113556.1.4.1941:=$admin_group_dn)"; // Vérification récursive
|
$filter = "(memberOf:1.2.840.113556.1.4.1941:=$group_dn)";
|
||||||
$attributes = ["memberOf"];
|
$result = ldap_read($this->ad, $user_dn, $filter, ["memberOf"]);
|
||||||
|
|
||||||
$result = ldap_read($this->ad, $user_dn, $filter, $attributes);
|
|
||||||
if ($result && ldap_count_entries($this->ad, $result) > 0) {
|
if ($result && ldap_count_entries($this->ad, $result) > 0) {
|
||||||
return true; // L'utilisateur appartient à un groupe d'administration
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false; // L'utilisateur n'est pas un administrateur
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUserGroups($user_dn)
|
||||||
|
{
|
||||||
|
$this->connect();
|
||||||
|
$this->bindServiceAccount();
|
||||||
|
|
||||||
|
$filter = "(objectClass=*)";
|
||||||
|
$attributes = ["memberOf"];
|
||||||
|
|
||||||
|
$result = ldap_read($this->ad, $user_dn, $filter, $attributes);
|
||||||
|
$entries = ldap_get_entries($this->ad, $result);
|
||||||
|
|
||||||
|
return $entries[0]['memberof'] ?? [];
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getAdminOUs($user_dn)
|
private function getAdminOUs($user_dn)
|
||||||
@@ -110,20 +107,18 @@ class LDAPAuth
|
|||||||
$this->connect();
|
$this->connect();
|
||||||
$this->bindServiceAccount();
|
$this->bindServiceAccount();
|
||||||
|
|
||||||
// Liste des groupes administratifs et leurs OUs associées
|
// Mappage explicite des groupes d'administration vers les OUs
|
||||||
$admin_groups_with_ous = [
|
$admin_groups_with_ous = [
|
||||||
"CN=Domain Admins,CN=Users,DC=epul3a,DC=local" => "OU=Domain Admins,DC=epul3a,DC=local",
|
"CN=Domain Admins,CN=Users,DC=epul3a,DC=local" => "OU=3AFISA,DC=epul3a,DC=local", // Domain Admins → OU=3AFISA
|
||||||
"CN=Enterprise Admins,CN=Users,DC=epul3a,DC=local" => "OU=Enterprise Admins,DC=epul3a,DC=local",
|
"CN=Enterprise Admins,CN=Users,DC=epul3a,DC=local" => "CN=Users,DC=epul3a,DC=local",
|
||||||
"CN=Schema Admins,CN=Users,DC=epul3a,DC=local" => "OU=Schema Admins,DC=epul3a,DC=local",
|
// Ajoutez d'autres groupes si nécessaire
|
||||||
"CN=Group Policy Creator Owners,CN=Users,DC=epul3a,DC=local" => "OU=Group Policy Creator Owners,DC=epul3a,DC=local",
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$admin_ous = [];
|
$admin_ous = [];
|
||||||
foreach ($admin_groups_with_ous as $group_dn => $ou) {
|
foreach ($admin_groups_with_ous as $group_dn => $ou) {
|
||||||
$filter = "(memberOf:1.2.840.113556.1.4.1941:=$group_dn)";
|
$filter = "(memberOf:1.2.840.113556.1.4.1941:=$group_dn)"; // Vérification récursive
|
||||||
$attributes = ["memberOf"];
|
$result = ldap_read($this->ad, $user_dn, $filter, ["memberOf"]);
|
||||||
|
|
||||||
$result = ldap_read($this->ad, $user_dn, $filter, $attributes);
|
|
||||||
if ($result && ldap_count_entries($this->ad, $result) > 0) {
|
if ($result && ldap_count_entries($this->ad, $result) > 0) {
|
||||||
$admin_ous[] = $ou;
|
$admin_ous[] = $ou;
|
||||||
}
|
}
|
||||||
@@ -132,6 +127,45 @@ class LDAPAuth
|
|||||||
return array_unique($admin_ous);
|
return array_unique($admin_ous);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getOUACL($ou_dn)
|
||||||
|
{
|
||||||
|
$filter = "(objectClass=organizationalUnit)";
|
||||||
|
$attributes = ["nTSecurityDescriptor"];
|
||||||
|
|
||||||
|
$result = @ldap_read($this->ad, $ou_dn, $filter, $attributes); // Ajoutez @ pour supprimer les warnings
|
||||||
|
|
||||||
|
if (!$result) {
|
||||||
|
return null; // Retourne null si la lecture échoue
|
||||||
|
}
|
||||||
|
|
||||||
|
$entries = ldap_get_entries($this->ad, $result);
|
||||||
|
|
||||||
|
if ($entries['count'] > 0 && isset($entries[0]['ntsecuritydescriptor'][0])) {
|
||||||
|
return $entries[0]['ntsecuritydescriptor'][0]; // Retourne les ACL
|
||||||
|
}
|
||||||
|
|
||||||
|
return null; // Retourne null si aucune ACL n'est trouvée
|
||||||
|
}
|
||||||
|
|
||||||
|
private function hasAdminRights($acl, $user_dn)
|
||||||
|
{
|
||||||
|
// Si les ACL sont null, retourne false
|
||||||
|
if ($acl === null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convertir l'ACL en un format exploitable
|
||||||
|
// Note : Cette partie dépend de la manière dont les ACL sont stockées dans votre AD
|
||||||
|
// Vous devrez peut-être utiliser une bibliothèque pour parser l'ACL
|
||||||
|
|
||||||
|
// Exemple simplifié : Vérifier si l'utilisateur a le droit "WriteProperty" ou "GenericAll"
|
||||||
|
if (strpos($acl, $user_dn) !== false && (strpos($acl, "WriteProperty") !== false || strpos($acl, "GenericAll") !== false)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function getAllOUs()
|
public function getAllOUs()
|
||||||
{
|
{
|
||||||
$this->connect();
|
$this->connect();
|
||||||
@@ -241,4 +275,59 @@ class LDAPAuth
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function listUsersByOUs(array $admin_ous)
|
||||||
|
{
|
||||||
|
$this->connect();
|
||||||
|
$this->bindServiceAccount();
|
||||||
|
|
||||||
|
$users = [];
|
||||||
|
foreach ($admin_ous as $ou) {
|
||||||
|
$searchBase = $ou;
|
||||||
|
$filter = "(objectClass=user)";
|
||||||
|
$attributes = ["cn", "sn", "givenName", "mail", "distinguishedName"];
|
||||||
|
|
||||||
|
$result = ldap_search($this->ad, $searchBase, $filter, $attributes);
|
||||||
|
$entries = ldap_get_entries($this->ad, $result);
|
||||||
|
|
||||||
|
if ($entries['count'] > 0) {
|
||||||
|
foreach ($entries as $key => $entry) {
|
||||||
|
if (is_numeric($key)) {
|
||||||
|
$users[] = $entry;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listUsersByOU($ou_dn)
|
||||||
|
{
|
||||||
|
$this->connect();
|
||||||
|
$this->bindServiceAccount();
|
||||||
|
|
||||||
|
$searchBase = $ou_dn;
|
||||||
|
$filter = "(objectClass=user)";
|
||||||
|
$attributes = ["cn", "sn", "givenName", "mail", "distinguishedName"];
|
||||||
|
|
||||||
|
$result = @ldap_search($this->ad, $searchBase, $filter, $attributes);
|
||||||
|
|
||||||
|
if (!$result) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$entries = ldap_get_entries($this->ad, $result);
|
||||||
|
$users = [];
|
||||||
|
|
||||||
|
if ($entries['count'] > 0) {
|
||||||
|
for ($i = 0; $i < $entries['count']; $i++) {
|
||||||
|
if (!empty($entries[$i]['distinguishedname'][0])) {
|
||||||
|
$users[] = $entries[$i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $users;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
97
views/add_user.php
Normal file
97
views/add_user.php
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<?php
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
|
||||||
|
header('Location: ../auth.php');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../models/LDAPAuth.php';
|
||||||
|
$ldapAuth = new LDAPAuth();
|
||||||
|
|
||||||
|
// Récupérer les OUs administrées
|
||||||
|
$allowed_ous = $_SESSION['admin_ous'];
|
||||||
|
|
||||||
|
// Si une OU est spécifiée dans l'URL, on la pré-sélectionne
|
||||||
|
$default_ou = null;
|
||||||
|
if (isset($_GET['ou'])) {
|
||||||
|
$default_ou = urldecode($_GET['ou']);
|
||||||
|
if (!in_array($default_ou, $allowed_ous)) {
|
||||||
|
die("Accès non autorisé à cette OU.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Traitement du formulaire
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$nom = $_POST['nom'];
|
||||||
|
$prenom = $_POST['prenom'];
|
||||||
|
$pseudo = $_POST['pseudo'];
|
||||||
|
$email = $_POST['email'];
|
||||||
|
$password = $_POST['password'];
|
||||||
|
$role = $_POST['role'];
|
||||||
|
$ou_dn = $_POST['ou'];
|
||||||
|
|
||||||
|
// Validation des données
|
||||||
|
if (empty($nom) || empty($prenom) || empty($pseudo) || empty($email) || empty($password) || empty($ou_dn)) {
|
||||||
|
die("Tous les champs sont obligatoires.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Connexion LDAP
|
||||||
|
$ldapconn = ldap_connect("ldap://intranet.epul3a.local") or die("Impossible de se connecter au serveur LDAP.");
|
||||||
|
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
|
||||||
|
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
|
||||||
|
|
||||||
|
if (!@ldap_bind($ldapconn, $_SESSION['dn'], $_SESSION['password'])) {
|
||||||
|
die("Erreur de connexion LDAP : " . ldap_error($ldapconn));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Création de l'utilisateur
|
||||||
|
$user_dn = "CN=$pseudo,$ou_dn";
|
||||||
|
$user_info = [
|
||||||
|
'cn' => $pseudo,
|
||||||
|
'sn' => $nom,
|
||||||
|
'givenName' => $prenom,
|
||||||
|
'mail' => $email,
|
||||||
|
'userPassword' => $password,
|
||||||
|
'objectClass' => ['top', 'person', 'organizationalPerson', 'user']
|
||||||
|
];
|
||||||
|
|
||||||
|
if (@ldap_add($ldapconn, $user_dn, $user_info)) {
|
||||||
|
echo "<p>Utilisateur créé avec succès dans l'OU : $ou_dn</p>";
|
||||||
|
} else {
|
||||||
|
echo "<p>Erreur lors de la création de l'utilisateur : " . ldap_error($ldapconn) . "</p>";
|
||||||
|
}
|
||||||
|
|
||||||
|
ldap_close($ldapconn);
|
||||||
|
} else {
|
||||||
|
// Affichage du formulaire
|
||||||
|
echo "<h1>Ajouter un utilisateur</h1>";
|
||||||
|
echo "<form method='POST'>";
|
||||||
|
echo " <label>Nom : <input type='text' name='nom' required></label><br>";
|
||||||
|
echo " <label>Prénom : <input type='text' name='prenom' required></label><br>";
|
||||||
|
echo " <label>Pseudo : <input type='text' name='pseudo' required></label><br>";
|
||||||
|
echo " <label>Email : <input type='email' name='email' required></label><br>";
|
||||||
|
echo " <label>Mot de passe : <input type='password' name='password' required></label><br>";
|
||||||
|
echo " <label>Rôle :
|
||||||
|
<select name='role'>
|
||||||
|
<option value='user'>Utilisateur standard</option>
|
||||||
|
<option value='admin'>Administrateur de l'OU</option>
|
||||||
|
</select>
|
||||||
|
</label><br>";
|
||||||
|
echo " <label>OU :
|
||||||
|
<select name='ou'" . ($default_ou ? " readonly" : "") . ">";
|
||||||
|
if ($default_ou) {
|
||||||
|
echo "<option value='$default_ou'>$default_ou</option>";
|
||||||
|
} else {
|
||||||
|
foreach ($allowed_ous as $ou) {
|
||||||
|
echo "<option value='$ou'>$ou</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo " </select>
|
||||||
|
</label><br>";
|
||||||
|
echo " <input type='submit' value='Créer l\'utilisateur'>";
|
||||||
|
echo "</form>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lien de retour
|
||||||
|
echo "<p><a href='../views/menu.php'>Retour au menu</a></p>";
|
||||||
@@ -1,46 +1,49 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
require_once __DIR__ . '/../controllers/controllerAdmin.php';
|
||||||
|
|
||||||
// Check if user is logged in and is admin
|
|
||||||
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
|
if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
|
||||||
header("Location: ../index.php");
|
header('Location: ../auth.php');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once __DIR__ . '/../controllers/controllerAdmin.php';
|
// Récupérer les utilisateurs selon l'OU
|
||||||
|
$users = listUsers();
|
||||||
|
|
||||||
echo "<h2>Gestion des utilisateurs</h2>";
|
// Afficher le tableau des utilisateurs
|
||||||
|
echo "<h1>Gestion des utilisateurs</h1>";
|
||||||
|
|
||||||
// Display users table
|
if (isset($_GET['ou'])) {
|
||||||
echo "<table border='1'>
|
echo "<h2>OU : " . htmlspecialchars(urldecode($_GET['ou'])) . "</h2>";
|
||||||
<tr>
|
|
||||||
<th>Nom</th>
|
|
||||||
<th>Email</th>
|
|
||||||
<th>OU</th>
|
|
||||||
<th>Actions</th>
|
|
||||||
</tr>";
|
|
||||||
|
|
||||||
$users = listAllUsers();
|
|
||||||
foreach ($users as $user) {
|
|
||||||
$name = htmlspecialchars($user['cn'][0]);
|
|
||||||
$email = htmlspecialchars($user['mail'][0] ?? 'N/A');
|
|
||||||
$ou = htmlspecialchars($user['ou']);
|
|
||||||
$dn = htmlspecialchars($user['distinguishedname'][0]);
|
|
||||||
|
|
||||||
echo "<tr>
|
|
||||||
<td>$name</td>
|
|
||||||
<td>$email</td>
|
|
||||||
<td>$ou</td>
|
|
||||||
<td>
|
|
||||||
<form method='post' action='edit_user.php' style='display:inline;'>
|
|
||||||
<input type='hidden' name='user_dn' value='$dn'>
|
|
||||||
<input type='submit' value='Modifier'>
|
|
||||||
</form>
|
|
||||||
<form method='post' action='delete_user.php' style='display:inline;' onsubmit='return confirm(\"Confirmer la suppression ?\");'>
|
|
||||||
<input type='hidden' name='user_dn' value='$dn'>
|
|
||||||
<input type='submit' value='Supprimer'>
|
|
||||||
</form>
|
|
||||||
</td>
|
|
||||||
</tr>";
|
|
||||||
}
|
}
|
||||||
echo "</table>";
|
|
||||||
|
if (!empty($users)) {
|
||||||
|
echo "<table border='1'>";
|
||||||
|
echo "<tr>
|
||||||
|
<th>Nom</th>
|
||||||
|
<th>Prénom</th>
|
||||||
|
<th>Email</th>
|
||||||
|
<th>DN</th>
|
||||||
|
<th>Actions</th>
|
||||||
|
</tr>";
|
||||||
|
|
||||||
|
foreach ($users as $entry) {
|
||||||
|
if (!is_array($entry)) continue;
|
||||||
|
|
||||||
|
echo "<tr>
|
||||||
|
<td>" . ($entry['sn'][0] ?? '') . "</td>
|
||||||
|
<td>" . ($entry['givenname'][0] ?? '') . "</td>
|
||||||
|
<td>" . ($entry['mail'][0] ?? '') . "</td>
|
||||||
|
<td>" . ($entry['distinguishedname'][0] ?? '') . "</td>
|
||||||
|
<td>
|
||||||
|
<a href='edit_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "'>Modifier</a>
|
||||||
|
<a href='delete_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' onclick='return confirm(\"Confirmer la suppression ?\")'>Supprimer</a>
|
||||||
|
</td>
|
||||||
|
</tr>";
|
||||||
|
}
|
||||||
|
echo "</table>";
|
||||||
|
} else {
|
||||||
|
echo "<p>Aucun utilisateur trouvé dans cette OU.</p>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<p><a href='../views/menu.php'>Retour au menu</a></p>";
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
if (session_status() == PHP_SESSION_NONE) {
|
||||||
|
session_start();
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
|
if (!isset($_SESSION["login"]) || $_SESSION["login"] !== true) {
|
||||||
header('Location: auth.php');
|
header('Location: ../auth.php');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,14 +27,20 @@ if ($_SESSION["is_admin"]) {
|
|||||||
}
|
}
|
||||||
echo "</ul>";
|
echo "</ul>";
|
||||||
|
|
||||||
// Afficher les actions par OU
|
// Modifier la section d'affichage des OUs
|
||||||
foreach ($_SESSION['admin_ous'] as $ou) {
|
foreach ($_SESSION['admin_ous'] as $ou) {
|
||||||
echo "<h3>Gestion de $ou</h3>";
|
echo "<h3>Gestion de $ou</h3>";
|
||||||
echo "<a href='list_users.php?ou=" . urlencode($ou) . "'>Gérer les utilisateurs</a>";
|
echo "<a href='../views/list_users.php?ou=" . urlencode($ou) . "'>Voir les utilisateurs</a><br>";
|
||||||
|
echo "<a href='../views/add_user.php?ou=" . urlencode($ou) . "'>Ajouter un utilisateur</a>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<li><a href='views/list_users.php'>Liste des utilisateurs</a></li>";
|
echo "<li><a href='../views/list_users.php'>Liste complète des utilisateurs</a></li>";
|
||||||
echo "<li><a href='views/add_user.php'>Ajouter un utilisateur</a></li>";
|
echo "<li><a href='../views/add_user.php'>Ajouter un utilisateur</a></li>";
|
||||||
|
|
||||||
|
|
||||||
|
echo "<pre>Debug - OUs administrées : ";
|
||||||
|
print_r($_SESSION['admin_ous']);
|
||||||
|
echo "</pre>";
|
||||||
}
|
}
|
||||||
echo "</ul>";
|
echo "</ul>";
|
||||||
|
|
||||||
@@ -51,6 +61,14 @@ if (!isset($_SESSION['sAMAccountName'])) {
|
|||||||
// $ou = getUserOU($username);
|
// $ou = getUserOU($username);
|
||||||
// echo "OU de l'utilisateur : $ou";
|
// echo "OU de l'utilisateur : $ou";
|
||||||
|
|
||||||
|
|
||||||
|
// Debug : Vérifier les groupes de l'utilisateur
|
||||||
|
$ldapAuth = new LDAPAuth();
|
||||||
|
$user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']);
|
||||||
|
echo "<pre>Groupes de l'utilisateur : ";
|
||||||
|
print_r($ldapAuth->getUserGroups($user_dn));
|
||||||
|
echo "</pre>";
|
||||||
|
|
||||||
// Bouton de déconnexion
|
// Bouton de déconnexion
|
||||||
echo "<form method='post' action='../controllers/logout.php'>";
|
echo "<form method='post' action='../controllers/logout.php'>";
|
||||||
echo "<input type='submit' value='Déconnexion'>";
|
echo "<input type='submit' value='Déconnexion'>";
|
||||||
|
|||||||
Reference in New Issue
Block a user