我正在尝试在https://github.com/mprahl/ADReset/上实现一个名为ADReset的github项目。
我解决了一些已发现的问题,但是尝试设置管理安全组时遇到了问题。查看apache错误日志,我看到以下内容:
[Mon Oct 01 04:32:25.705508 2018] [php7:warn] [pid 13411] [client XXXXXX:50840]
PHP Warning: ldap_search(): Search: Operations error in
/var/www/adreset/resources/classes/AD.php on line 93,
referer: http://XXXXXX/settings/systemsettings.php
看第93行,它是类中函数的一部分。功能如下:
public function search($query) {
if (isset($query)) {
if ($result = ldap_search($this->ad_connection,
$this->connectionSettings['baseDN'], $query)) {
$data = ldap_get_entries($this->ad_connection, $result);
return $data;
}
else {
return array();
}
}
试图找出问题的根源,我添加了一些错误日志记录,现在的功能是:
public function search($query) {
if (isset($query)) {
error_log(print_r($query,true));
error_log(print_r("AD Connection Stuffs " . ldap_error($this->ad_connection),true));
error_log(print_r($this->connectionSettings['baseDN'],true));
$result = ldap_search($this->ad_connection, $this->connectionSettings['baseDN'], $query);
if ($result) {
$data = ldap_get_entries($this->ad_connection, $result);
return $data;
}
else {
return array();
}
}
通过ui运行脚本时,看到以下错误:
[Sun Oct 14 22:41:33.128492 2018] [php7:notice] [pid 3236] [client xxx.xxx.xxx.xxx:59470] (&(objectClass=group)(sAMAccountName=test)), referer: http://XXXX.XXXX.com/settings/systemsettings.php
[Sun Oct 14 22:41:33.128590 2018] [php7:notice] [pid 3236] [client xxx.xxx.xxx.xxx:59470] AD COnnection Stuffs Success, referer: http://XXXX.XXXX.com/settings/systemsettings.php
[Sun Oct 14 22:41:33.128608 2018] [php7:notice] [pid 3236] [client xxx.xxx.xxx.xxx:59470] DC=XXXX,DC=com, referer: http://XXXX.XXXX.com/settings/systemsettings.php
[Sun Oct 14 22:41:33.128990 2018] [php7:warn] [pid 3236] [client xxx.xxx.xxx.xxx:59470] PHP Warning: ldap_search(): Search: Operations error in /var/www/adreset/resources/classes/AD.php on line 97, referer: http://XXXX.XXXX.com/settings/systemsettings.php
[Sun Oct 14 22:41:33.129114 2018] [php7:notice] [pid 3236] [client xxx.xxx.xxx.xxx:59470] , referer: http://XXXX.XXXX.com/settings/systemsettings.php
所以,我把它分解了。 $ this-> ad_connection返回“成功”的结果,基本DN返回我正在使用的AD服务器的正确基本DN,甚至查询正确。为了再次检查查询是否有效,我使用了Softerra LDAP浏览器并进行了搜索。我完全不知道为什么这个功能失败了。任何帮助/方向将不胜感激。