feat: add user details

This commit is contained in:
Morph01
2025-02-04 14:51:10 -08:00
parent 9ed9dad583
commit 2baa69fe34
2 changed files with 45 additions and 6 deletions

View File

@@ -330,4 +330,33 @@ class LDAPAuth
return $users; return $users;
} }
public function getUserDetails($username)
{
$this->connect();
$this->bindServiceAccount();
$filter = "(sAMAccountName=$username)";
$attributes = ["*"]; // Récupère tous les attributs
$result = ldap_search($this->ad, "DC=epul3a,DC=local", $filter, $attributes);
$entries = ldap_get_entries($this->ad, $result);
if ($entries['count'] > 0) {
return $this->cleanLdapEntries($entries[0]);
}
return [];
}
private function cleanLdapEntries($entry)
{
$clean = [];
foreach ($entry as $key => $value) {
if (!is_numeric($key) && is_array($value)) {
$clean[$key] = $value[0];
}
}
return $clean;
}
} }

View File

@@ -19,8 +19,8 @@ echo "Bienvenue " . $_SESSION["sAMAccountName"] . "!";
echo "<h2>Menu</h2>"; echo "<h2>Menu</h2>";
echo "<ul>"; echo "<ul>";
if ($_SESSION["is_admin"]) { if ($_SESSION["is_admin"]) {
echo "Vous êtes un administrateur."; echo "Vous êtes un administrateur.<br>";
echo "Vous êtes un administrateur. Vous avez des droits sur les OUs suivantes :"; echo "Vous avez des droits sur les OUs suivantes :";
echo "<ul>"; echo "<ul>";
foreach ($_SESSION['admin_ous'] as $ou) { foreach ($_SESSION['admin_ous'] as $ou) {
echo "<li>$ou</li>"; echo "<li>$ou</li>";
@@ -31,12 +31,10 @@ if ($_SESSION["is_admin"]) {
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='../views/list_users.php?ou=" . urlencode($ou) . "'>Voir les utilisateurs</a><br>"; 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 "<a href='../views/add_user.php?ou=" . urlencode($ou) . "'>Ajouter un utilisateur</a><br><br>";
} }
echo "<li><a href='../views/list_users.php'>Liste complète des utilisateurs</a></li>"; echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OU administrées</a><br>";
echo "<li><a href='../views/add_user.php'>Ajouter un utilisateur</a></li>";
echo "<pre>Debug - OUs administrées : "; echo "<pre>Debug - OUs administrées : ";
print_r($_SESSION['admin_ous']); print_r($_SESSION['admin_ous']);
@@ -69,6 +67,18 @@ echo "<pre>Groupes de l'utilisateur : ";
print_r($ldapAuth->getUserGroups($user_dn)); print_r($ldapAuth->getUserGroups($user_dn));
echo "</pre>"; echo "</pre>";
// Ajouter cette section après l'affichage des groupes
$user_details = $ldapAuth->getUserDetails($_SESSION['sAMAccountName']);
echo "<h3>Vos informations de compte :</h3>";
echo "<table border='1'>";
echo "<tr><th>Attribut</th><th>Valeur</th></tr>";
foreach ($user_details as $key => $value) {
if (!is_array($value) && $key !== 'count') {
echo "<tr><td>$key</td><td>$value</td></tr>";
}
}
echo "</table>";
// 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'>";