首页 > 解决方案 > ldap_bind 失败并显示警告,但继续执行 if 语句

问题描述

我正在使用 ldap 进行身份验证,并且在输入正确的凭据后一切正常,但是如果用户无效或密码不正确,则 ldap_bind 会发出以下警告:

Warning: ldap_bind(): Unable to bind to server: Invalid credentials...

这意味着我认为应该检查 ldap_bind 是否工作的以下行在它应该失败时正在执行:

$ldapbind = ldap_bind($ldapconn,"uid=$username,cn=users,dc=abc,dc=net", "$password");
if ($ldapbind) {

我是否需要更改 if 语句,以便无效凭据的警告导致失败并移至 else 语句?我尝试了以下方法,但没有任何区别。

if (($ds) !== false )

标签: phpldap

解决方案


你可以试试:

$ldapbind = @ldap_bind($ldapconn,"uid=$username,cn=users,dc=abc,dc=net", "$password");
if ($ldapbind) {

推荐阅读