php - dn 上的 ldapsearch 工作,但不能使用 php
问题描述
我正在与处理虚拟服务器托管和 LDAP 服务器配置的服务提供商合作。
我的工作是创建一个 PHP 应用程序,它使用 LDAP 在登录时创建一个用户(为了简单起见)。
经过与服务商的多次分享,我终于实现了通过以下方式联系 LDAP 服务器:
ldapsearch -x -LLL -h vmdc2.local -D email@local -w myPassword -b"CN=xxx,OU=APPLICATIF,OU=GROUPES,OU=UTILISATEUR,DC=enterprise,DC=local"
它来自ldap-utils Linux 数据包。此查询返回良好的结果。
所以我创建了一个简单的脚本,尝试使用以前的 DN 在 CLI 中列出用户,以在 PHP 中进行工作证明。
<?php
// create connection to LDAP server
$ldapconn = ldap_connect("ldap://vmdc2.local")
or die("Impossible to connect to the LDAP server.");
$ldapbind = ldap_bind($ldapconn, 'email@local', 'myPassword');
// check binding
if ($ldapbind) {
echo "Successfully connected to LDAP !" . PHP_EOL;
$dn = 'CN=xxx,OU=APPLICATIF,OU=GROUPES,OU=UTILISATEUR,DC=enterprise,DC=local';
$sr = ldap_list($ldapconn, $dn, 'cn=*');
if (false === $sr) {
die('Impossible to use the dn: ' . $dn . PHP_EOL);
}
$info = ldap_get_entries($ldapconn, $sr);
if ($info['count'] === 0) die('No entries :(');
for ($i=0; $i < $info["count"]; $i++) {
echo $info[$i]["cn"][0] . PHP_EOL;
}
} else {
$var = '';
ldap_get_option($ldapconn, LDAP_OPT_ERROR_STRING, $var);
echo "Connection to LDAP failed..." . PHP_EOL . $var . PHP_EOL;
}
脚本输出No entries :(
我的问题
如何在同一个 DN 上从 PHP 获得不同的结果?
可以在谁呼叫他的功能中配置 LDAP 服务器如何应答?
这是我第一次反对 LDAP,所以我迷路了:/ 非常欢迎您的帮助!
解决方案
推荐阅读
- react-native - 父子组件的 React-Native 并行动画
- pycharm - 如何使用 Pycharm 开发远程项目而不将文件克隆到本地环境?
- python-3.x - redis-py 在退出时不关闭线程
- c# - 无法使用 insertOneAsync 在 mongodb 中插入数据
- makefile - 为什么在使用隐式规则时 make 不使用我的显式规则?
- python-3.x - 两种异常处理的区别
- python - 嘿伙计们,我在这段代码中做错了什么。我正在尝试将 13195 的所有主要因素附加到一个空列表中,但它给了我一个空列表
- apache-spark - Spark:加入时的奇怪分区
- python-3.x - 如何同时打开使用 2 个不同的可视化工具包(VTK 和 tkinter)构建的 2 个不同的 GUI?
- events - 如何收听 Skype for Business 通话事件