PHP ldap_bind()身份验证-错误无法绑定到服务器:凭据无效?

PHP ldap_bind()身份验证-错误无法绑定到服务器:凭据无效?,php,ldap,Php,Ldap,我正在尝试使用PHP使用LDAP对用户进行身份验证。我已检查用户的DN是否正确。我也有密码。当用户使用SamAccountName进行身份验证时,这是正确的密码 我希望这是使用DN进行身份验证时使用的密码。LDAP没有可分辨名称特定的密码,是吗?下面是我使用PHP的ldap\u bind()函数进行身份验证的代码。我这样做对吗 $ldaphost="ldap://somehost.com:3268"; $dn = "cn=LastName\, FirstName Dept/Country/ext

我正在尝试使用PHP使用LDAP对用户进行身份验证。我已检查用户的DN是否正确。我也有密码。当用户使用
SamAccountName
进行身份验证时,这是正确的密码

我希望这是使用DN进行身份验证时使用的密码。LDAP没有可分辨名称特定的密码,是吗?下面是我使用PHP的
ldap\u bind()
函数进行身份验证的代码。我这样做对吗

$ldaphost="ldap://somehost.com:3268";
$dn = "cn=LastName\, FirstName Dept/Country/ext,OU=Accounts,OU=Location,ou=Division,";
$basedn="dc=abc,dc=enterprise";

if (!($connect = ldap_connect($ldaphost))) {    
  die ("Could not connect to LDAP server"); 
} 

$ldapbind = ldap_bind($connect, "$dn" . "$basedn", $password);

if ($ldapbind) {
   echo "LDAP bind successful...";
} else {
   echo "LDAP bind failed...";
}
我从上述代码得到的结果是:

警告:ldap_bind()[function.ldap bind]:无法绑定到服务器: 无效的凭据LDAP绑定失败

从执行
ldap\u bind()
调用的行:

$ldapbind = ldap_bind($connect, "$dn" . "$basedn", $password);
无效的凭据使我相信DN或密码可能有问题。我已经对DN进行了三次检查,据我所知,那里没有错误


有什么想法吗?

我猜您正在连接到Microsoft域,您可以尝试使用域语法获取凭据。对于域中的User015-DOMAIN\User015

当处理ldap时,我总是发现有用的

宾果!!真管用!那么在ldap_bind()中使用的用户ID取决于ldap服务器的域类型?或者服务器管理员可以更改它吗?因此,在某些ldap域上使用DN,在其他域上使用DOMAIN\user。和其他可能的用户ID是电子邮件地址?@user840930域\用户仅允许在Microsoft域控制器上使用,LDAP默认值是要求(我可能在这里出错)完整的DN,因为这仅在LDAP中可用。@Stephan B您能告诉我在哪里可以更改此域\用户吗?您能帮助我吗?@ErSharadSoni请发布一个新问题,并澄清您的问题到底是什么。