首页 文章

php / ldap - 绑定失败,但errorno不执行

提问于
浏览
1

我正在尝试使用php Web应用程序连接到ldap . 如果用户名/密码是正确的,一切正常,但如果用户名/密码不正确,我会收到以下错误:

PHP警告:ldap_bind()[function.ldap-bind]:无法绑定到服务器:凭据无效

由于某种原因,我无法查看errorno或之后的绑定变量的状态来打印适当的用户友好错误消息 .

有任何想法吗?

2 回答

  • 1

    问题很可能是 ldap_errno 采用了ldap connection resource ,并且当 ldap_bind 失败时,你可以't use it' s结果来检索errno .

    另外:你试过通过 @ 标志来抑制错误吗?

    例如 . :

    $ldapconn = ldap_connect("localhost");
    @$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
    
    if( $ldapbind )
    {
      // Everything went fine
    } else {
      // Use the connection resource for ldap_errno
      $errno = ldap_errno( $ldapconn );
    
      // Check the error number, print an error message (...)
    }
    
  • 3

    在尝试绑定之前,您必须检查您的ldap连接是否正常:

    $ldap_conn = ldap_connect($ldap_host,$ldap_port);
    if ($ldap_conn) {
        ldap_bind($ldap_conn, $ldap_user_dn, $ldap_pass);
        ...
    }
    

相关问题