Ankündigung

Einklappen
Keine Ankündigung bisher.

AD zugriff über PHP

Einklappen

Neue Werbung 2019

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

  • AD zugriff über PHP

    Hallo Leute,

    nach einiger PHP Pause, melde ich mich nun wieder zurück ^^ und habe auch gleich wieder ein Problem mit dem AD Zugriff über PHP.

    Eine Verbindung aufgebaut ist und auch der 'bind' klappt. Die funktion ldap_search wird auch ohne wiederrede ausgeführt.

    Doch wenn ich jetzt per ldap_modify das Atribut 'userPassword' verändern will, sagt mir das System immer das alles bestens geklappt hat, doch eine Anmeldung ist mit dem neuen Kennwort nicht möglich.
    versucht habe ich schon das pw in Klartext, md5 oder sha einzutagen, aber keines der 3 war von erfolg gekrönt..

    Ich möchte nicht, dass ihr mir meinen Quellcode schreib, sondern ich hoffe auf ein paar anregungen. Oder evtl. kann mir jemand sagen ob man überhaupt das Passwort ändern kann über PHP. Sämtliche andern ldap Funktionen funktionieren ja.

    Dann zu meinem 2. Problem (oder evtl. doch nur ein Denkfehler?)

    Ich habe eine Liste von Benutzern und da hinter möchte ich ein Feld haben, in dem drin steht ob der Benutzer gesperrt ist oder nicht. Ich weiß, dass das über das Attribut 'useraccountcontrol' geschehen muss. Und da dort auch noch andere Sachen mit drinstehen (in einer Berechnung) weiß ich grade nicht so recht wie ich da ran gehen soll.
    hier die seite zur verwendung von useraccountcontrol.

    Ich würde mich sehr über Antworten freuen

    Mit freundlichen Grüßen

    Jared

  • #2
    Zu 1) Wenn ich jetzt nicht völlig falsch davor bin, dann musst Du unicodePwd ändern, nicht userPassword. Außerdem geht das wohl nur, wenn die LDAP-Verbindung verschlüsselt ist.

    Zu 2) Mit (userAccountControl:BITMASKE=BITWERT) solltest Du das Bitfeld eigentlich abgefragt kriegen.

    Gruß Jens

    Kommentar


    • #3
      Hey, vielen Dank für die anregung Ich werde das morgen gleich mal versuchen :P

      Mfg Jared

      Kommentar


      • #4
        Hallo, ich bins wieder ^^

        Also entweder geht unicodePwd auch nicht, oder meine Verbindung ist noch nicht richtig verschlüsslt, aber das werde ich noch weiter ausprobieren.

        und zu 2) hast du evtl. ein Beispiel dafür?

        Ich gebe das array $result mit einer for-Schleife aus hier mal mein code:

        PHP-Code:
        for($i=0$i<=$result['count']; $i++){

        $inhalt_name .= '<tr><td>';
                    
        $inhalt_name .= $result[$i]['samaccountname'][0];
                    
        $inhalt_name .= '</td>';
                    
        $inhalt_name .= '<td><a href="index.php?name='.$_GET["name"].'&zurücksetzen='.$result[$i]['distinguishedname'][0].'">Passwort zur&uuml;cksetzen</a></td>';
                    
        $inhalt_name .= '</tr>';    


        Da hinter soll einfach nur ein Feld, ob der Benutzer gesperrt ist oder nicht.

        Ich denke ich muss mit if/else arbeiten. Mein Ansatz:

        PHP-Code:
        if($result[$i]['useraccountcontrol']== x){
        echo 
        'GESPERRT';
        }else{
        echo 
        'ENTSPERRT';

        Wobei x dann sicherlich für den Bitwert steht, oder?

        Doch was ist der bitwert vom useraccountcontrol? und was ist die Bitmaske?

        Mfg Jared

        Kommentar


        • #5
          Bitmaske – Wikipedia

          edit: achso, du willst die Maske selbst, nicht eine Erklärung was eine Bitmaske ist.
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Was eine Bitmaske (bzw. Bits an sich) ist weiß ich :P mir geht es nur um ein Beipspiel bezogen auf mein Problem. Ich habe nämlich noch nie bei dem Atribut 'useraccountcontrol' eine Bitmaske gesehen...

            Kommentar


            • #7
              Vielleicht hilft Dir ja das hier weiter: adLDAP - LDAP Authentication with PHP for Active Directory --> api_user_functions [adLDAP - Intergrating PHP and Active Directory]

              BTW der AD-Explorer von Sysinternals ist hier sehr hilfreich, um mal zu schauen, welche Werte ein Benutzer/Object hat, der bspw. gesperrt ist. Dadurch müsste sich der Bitwert sehr schnell ermitteln lassen über einen Testaccount.


              Gruß,
              Sascha

              Kommentar

              Lädt...
              X