Ungültige DN-syntax LDAP-Authentifizierung

Ich weiß, das ist eine Art beantwortet worden, bevor, aber es hat nicht in der Lage gewesen, mir zu helfen (es sei denn, es hat aber wegen meiner begrenzten php-Kenntnissen geholfen hat es nicht). Hier ist mein code unter:

<body>
<html>     

<?php
//echo var_dump($_POST);
        $user = "".$_POST["username"]."";
        settype($user, "string");
        $password = $_POST["password"];
        $ldap_host = "ldap.burnside.school.nz";
        $base_dn = "ou=students,o=bhs";
        $ldap_user = "(cn=".$user.")";
        $filter = "($ldap_user)"; //Just results for this user
        $ldap_pass = "".$password."";

        $connect = ldap_connect($ldap_host)
                or exit(">>Could not connect to LDAP server<<");
        ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);

        //This next bit is the important step.  Bind, or fail to bind.  This tests the username/password.        
        if (ldap_bind($connect, $ldap_user.",".$base_dn, $ldap_pass)) {
            $read = ldap_search($connect, $base_dn, $filter)
                or exit(">>Unable to search ldap server<<");

            //All the next 8 lines do is get the users first name.  Not required
            $info = ldap_get_entries($connect, $read);
            $ii = 0;
            for ($i = 0; $ii < $info[$i]["count"]; $ii++) {
                $data = $info[$i][$ii];
                if ($data == "givenname") {
                    $name = $info[$i][$data][0];
                }
            }

            ldap_close($connect);
            header("Location: success.php?name=$name");
        } 
        else {
            ldap_close($connect);
            //header("Location: failure.php?user=$user");
        }
        ?>

</body>
</html>

Bin ich immer einen Fehler in Zeile 21 was ist, wenn ich zum binden des Servers, die sagen:

Achtung: ldap_bind(): Unable to bind to server: Invalid DN syntax in S:\XAMPP\htdocs\PhpProject1\LDAP_main.php auf der Linie 21

Hätte jemand eine Lösung zu diesem problem? Es ist nur mal passiert, als ich realisiert meine $_POST in den code zu erhalten, den Benutzernamen und das Passwort, aber wie Sie sehen können, mit meinen auskommentiert //echo var_dump($_POST) ich bin eigentlich für den Empfang der Daten, die ich will.

InformationsquelleAutor user3765724 | 2014-10-13

Schreibe einen Kommentar