Scripts

Active Directory Login

Voor mijn werk moest ik een loginscript maken op basis van Active Directory. Elke gebruiker in Active Directory die in een bepaalde usergroep staat kan inloggen. Ik heb dit script nergens op internet kunnen vinden, vandaar dat ik hem hier post. Ik weet zeker dat andere mensen het ook kunnen gebruiken...

active-directory-login
<?php
/**
 * @author Marijn van der Kruijt
 */


$username = $_POST['username']; 
$password = $_POST['password']; 

$domeinserver = "domainserver"; 
$domein = "domain"; 
$usergroep = "CN=USERGROUP,OU=EU,DC=domain,DC=com"; 

$ds=ldap_connect($domeinserver);  
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); 
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); 

$r = @ldap_bind($ds, $domein."\\".$username, $password); 

if ($r) { 
$sr= ldap_search($ds, $usergroep, "CN=*"); 
$info = ldap_get_entries($ds, $sr); 

    for ($i=0; $i<$info["count"]; $i++) { 
        for ($b=0; $b<count($info[0]["member"])-1; $b++) { 
            $zoek = $info[0]["member"][$b]; 
            $nr=ldap_search($ds, $zoek, "CN=*"); 
            $ninfo = ldap_get_entries($ds, $nr); 
            $userstring = $ninfo[0][userprincipalname][0]; 
            list($loginnaam, $achterstuk) = split('[@]', $userstring); 
			$ingroep = ((strtolower($username) == strtolower($loginnaam)) ? 1 : 0); 
			switch($ingroep){ 
				case 0: echo "Geen lid"; break; 
				case 1: echo "Wel lid"; break; 
			} 
       } 
    } 
} else { echo "Uw gebruikesnaam of wachtwoord is incorrect..." ; }

ldap_close($ds);

?>

Reacties

0
Nog geen reacties.