PHP Active Directory Authentifizierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Active Directory Authentifizierung

    Hallo,

    ich habe ein HTML Loginformular mit Benutzername und Kennwort.
    Wenn man auf den Button Login klickt, soll überprüft werden, ob der eingegebene Benutzer in der Active Directory Gruppe php_login ist. falls ja, wird der login mit seinen anmeldedaten durchgeführt.
    wie bekomme ich das am besten mit der gruppenprüfung hin.
    ich habe es nur hinbekommen, dass sich alle ad benutzer authentifizieren können. anbei das skript hierzu:



    PHP-Code:
    <?php

    if(isset($_POST['username']) && isset($_POST['password'])){

        
    $adServer "ldap://dc01.sascha-graf.de";
        
        
    $ldap ldap_connect($adServer);
        
    $username $_POST['username'];
        
    $password $_POST['password'];

        
    $ldaprdn 'sascha-graf' "\\" $username;

        
    ldap_set_option($ldapLDAP_OPT_PROTOCOL_VERSION3);
        
    ldap_set_option($ldapLDAP_OPT_REFERRALS0);

        
    $bind = @ldap_bind($ldap$ldaprdn$password);


        if (
    $bind) {
            
    $filter="(sAMAccountName=$username)";
            
    $result ldap_search($ldap,"dc=sascha-graf,dc=de",$filter);
            
    ldap_sort($ldap,$result,"sn");
            
    $info ldap_get_entries($ldap$result);
            for (
    $i=0$i<$info["count"]; $i++)
            {
                if(
    $info['count'] > 1)
                    break;
                echo 
    "<p>Login war erfolgreich! <strong> "$info[$i]["sn"][0] .", " $info[$i]["givenname"][0] ."</strong><br /> (" $info[$i]["samaccountname"][0] .")</p>\n";
                echo 
    '<pre>';
                
    var_dump($info);
                echo 
    '</pre>';
                
    $userDn $info[$i]["distinguishedname"][0]; 
            }
            @
    ldap_close($ldap);
        } else {
            
    $msg "Benutzername oder Passwort falsch";
            echo 
    $msg;
        }

    }else{
    ?>
        <form action="#" method="POST">
            <label for="username">Username: </label><input id="username" type="text" name="username" /> 
            <label for="password">Password: </label><input id="password" type="password" name="password" />        <input type="submit" name="submit" value="Submit" />
        </form>
    <?php ?>
Lädt...
X