ldap_add():添加:服务器不愿意执行

时间:2014-03-25 21:17:42

标签: php ldap

我刚刚开始使用LDAP和Windows Server 2012.我已经设法使用管理员帐户将我的PHP代码绑定到Active Directory,但我似乎可以使用ldap_add函数创建新用户。

我正在运行Windows Server 2012 R2和IIS 8.我已经使用企业根证书安装了证书颁发机构,并且我可以使用带有SSL连接的ldp.exe连接到AD。

我查看了Google以及“可能重复的帖子”,但在过去的几个小时里,我们都没有为我提供过工作答案。

当我使用以下PHP代码时:

<?php

$ldaprdn  = 'netclass\Administrator'; 
$ldappass = 'password here'; 

    $ldapconn = ldap_connect('ldap://server.netclass.co.uk')
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }


        // prepare data
    $info["givenname"] = "Ronnie Brown";
    $info["samaccountname"] = "br01";
    $info["objectclass"] = "person";

    // add data to directory
    $r = ldap_add($ldapconn, "cn=Ronnie,dc=netclass,dc=co,dc=uk", $info); //Line 28

}
?>

我得到了输出:

LDAP bind successful...
Warning: ldap_add(): Add: Server is unwilling to perform in C:\inetpub\wwwroot\adduser.php on line 28

我尝试通过更改以下内容来启用SSL:

$ldapconn = ldap_connect('ldap://server.netclass.co.uk')

$ldapconn = ldap_connect('ldaps://server.netclass.co.uk')

但是我得到以下错误:

Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in C:\inetpub\wwwroot\adduser.php on line 12
LDAP bind failed...
Warning: ldap_add(): Add: Can't contact LDAP server in C:\inetpub\wwwroot\adduser.php on line 28

1 个答案:

答案 0 :(得分:5)

我今天设法解决了问题。

我在/etc/ldap/ldap.conf中添加了以下行

TLS_REQCERT never

在此之后我能够连接但仍然收到错误消息:

Server Unwilling to Perform

这是因为我试图设置密码纯文本,如:

$ldaprecord["unicodepwd"] = 'MyPassword1234'

您需要先对其进行编码,这样一旦我将代码更改为此功能就可以了:

## Create Unicode password
## Assumes that given password is in UTF-8 encoding!
## Adjust it to the actual encoding of the password
$pwdtxt = "MyPassword1234";
$newPassword = '"' . $pwdtxt . '"';

$newPass = iconv( 'UTF-8', 'UTF-16LE', $newPassword );

$ldaprecord["unicodepwd"] = $newPassw;

希望这有助于某人!