php - 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 )
解决方案
你可以试试:
$ldapbind = @ldap_bind($ldapconn,"uid=$username,cn=users,dc=abc,dc=net", "$password");
if ($ldapbind) {
推荐阅读
- http - 没有协议的 URL 是如何工作的,它应该在 Web 中使用吗?
- r - 查找元素属于哪个向量
- html - Spring Boot:已解决 [org.springframework.web.HttpRequestMethodNotSupportedException:不支持请求方法“POST”]
- django - 比较表单中的 ForeignKey 值 表单外的值
- doctrine - Symfony 5 - 教义 - 未在自定义多对一关系中创建索引
- amazon-web-services - DynamoDB SDK 异步函数在使用 sinon 时返回 undefined
- python - 用于在括号内打印整数的正则表达式
- javascript - 如何将数据与循环匹配并记录它们被选中,其余数据只是控制台它们
- node.js - 如何在 node_modules 目录中使用本地版本的 pm2 来保持服务器活动?
- r - 是否可以使用 NGINX 将多个闪亮的应用程序部署到一台服务器?