phpauthenticationldapopenldap

Server is unwilling to perform. LDAP in PHP


I get this error always

Server is unwilling to perform

and my code is the next:

   echo "Checking ...";
    $username = $_POST["username"];
    $passwd = $_POST["passwd"];
    $host              = 'myhost.co.uk'; 
    $port              = 389; 
    $dn                = 'uid='.$username.',cn=nssproxy,ou=users,dc=co,dc=uk';

   // conexion a ldap

    $conn = ldap_connect( "ldap://".$host.":389") ;

    ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);

    // match de usuario y password
    $bind = ldap_bind( $conn, $dn, $password );


    if ($bind){
        echo "OK";
    }
    else {
        echo "NO OK";
    }
    echo ldap_error($conn);

Why I have this error? I'm always testing with any user, this script return same error.

Thanks in advance.


Solution

  • So I searched Google for Server is unwilling to performand the first result says:

    C.1.4. ldap_*: server is unwilling to perform

    slapd will return an unwilling to perform error if the backend holding the target entry does not support the given operation.

    The password backend is only willing to perform searches. It will return an unwilling to perform error for all other operations.

    The shell backend is configurable and may support a limited subset of operations. Check for other errors indicating a shortage of resources required by the directory server. i.e. you may have a full disk etc

    ldap_mod_replace() [function.ldap-mod-replace]: Modify: Server is unwilling to perform has some requirements as well