My code is:
$user = 'test';
$password = 'testpass';
$host = '10.1.1.1';
$port = 389;
$basedn = 'dc=ci,dc=mycompany,dc=com';
$group = 'Users';
$ldaprdn = 'uid=test,dc=ci,dc=mycompany,dc=com';
$ad = ldap_connect("ldap://$host", $port);
if ($ad) {
echo "Connected" . "<br/>";
} else {
echo ldap_error($ad) . "<br/>";
}
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
// $ldapBind = ldap_bind($ad, "{$user}@{$domain}", $password); // 1.
// $ldapBind = ldap_bind($ad, $user, $password); // 2.
$ldapBind = ldap_bind($ad, $ldaprdn, $password); // 3.
// $ldapBind = ldap_bind($ad, null, null); // 4.
if ($ldapBind) {
echo "Binded" . "<br/>";
} else {
echo ldap_error($ad) . "<br/>";
}
Now I use the comment line "3", get:
Connected
Invalid credentials
If use the comment line "1" or "2", get:
Connected
Invalid DN syntax
If use the comment line "4" (this is anonymouse), get:
Connected
Binded
This is developing under Ubuntu 12.
Why I get Invalid credentials error from comment line "3"? How to bind with authentication correctly? Thanks in advance!