PhP script – Verifica se un utente Appartiene ad un Gruppo + Login

  • Home
  • Blog
  • 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)

Seguici su:

FacebookLinkedInLinkedIn

Per maggiori informazioni, per suggerimenti e ottenere un preventivo gratuito per le tue esigenze, contattaci.
Il nostro staff di professionisti sarà lieto di fornire tutte le informazioni ed i costi riguardanti il servizio.
Attenzione : Sestech non è un servizio di helpdesk “gratuito” a cui chiedere informazioni.

 Windows Server, Server Blog, Windows Server blog, Blog Sysadmin, Blog informatica, Blog informatico Windows Server

Hai bisogno di Aiuto?
Invia via WhatsApp