PhP script – Verifica se un utente Appartiene ad un Gruppo + Login
Il seguente script PHP si connette ad Active Directory (LDAP) e verifica se un determinato utente appartiene ad un gruppo.
<?php
// Parametri di connessione LDAP
$ldap_host = ‘10.17.26.14’;
$ldap_port = 389;
$ldap_base_dn = ‘CN=Users,DC=dominio,DC=net’; // Modificare con il proprio base DN
// Credenziali dell’utente per eseguire la query
define(‘USERNAME’, ‘dominio\utenteAdmin’);
define(‘PASSWORD’, ‘*******’);
// Connessione LDAP
$ldap_connection = ldap_connect($ldap_host, $ldap_port);
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3);
if ($ldap_connection) {
// Bind LDAP con l’utente per eseguire la query
$ldap_bind = ldap_bind($ldap_connection, USERNAME, PASSWORD);
if ($ldap_bind) {
// Username dell’utente da verificare
// Modificare con il nome utente da verificare —————–
$username = ‘utentecercato’;
// ————————————————————-
$group_dn = ‘CN=gruppodesiderato,CN=Users,DC=dominio,DC=net’; // Modificare con il DN del gruppo
// Ricerca dell’utente LDAP
$ldap_filter = “(uid=$username)”;
$ldap_search = ldap_search($ldap_connection, $ldap_base_dn, $ldap_filter);
$ldap_entries = ldap_get_entries($ldap_connection, $ldap_search);
if ($ldap_entries[‘count’] > 0) {
$user_dn = $ldap_entries[0][‘dn’];
// Verifica se l’utente è membro del gruppo
$ldap_group_search = ldap_read($ldap_connection, $group_dn, “(member=$user_dn)”);
$ldap_group_entries = ldap_get_entries($ldap_connection, $ldap_group_search);
if ($ldap_group_entries[‘count’] > 0) {
echo “L’utente $username e membro del gruppo.”;
//GESTIRE QUI CASO DI LOGIN OK———————————–
} else {
echo “L’utente $username non e membro del gruppo.”;
}
} else {
echo “Utente non trovato.”;
}
} else {
echo “Errore di autenticazione LDAP.”;
}
// Chiusura della connessione LDAP
ldap_close($ldap_connection);
} else {
echo “Impossibile connettersi al server LDAP.”;
}
?>
Attenzione all’installato di PHP perchè per farlo funzionare seve il pacchetto php-ldap
(sul server di prova ho usato php 7.4-ldap)
Restiamo in contatto:
Serverbay, Windows Server, Server Blog, Windows Server blog, Blog Sysadmin, Blog informatica, Blog informatico Windows Server
Connect
Connettiti con me su vari social media...