0

当通过端口 636 和 encytpe 设置为 SSL 的 LDAPS 进行身份验证时,我在下面不断收到此错误。

2021-08-17 13:47:40 myApp testApp-mediawiki: # 返回 false 2021-08-17 13:47:40 myApp testApp-mediawiki: ldap_error( $linkID ); 2021-08-17 13:47:40 myApp testApp-mediawiki: # 返回无法联系 LDAP 服务器 2021-08-17 13:47:40 myApp testApp-mediawiki: ldap_errno( $linkID ); 2021-08-17 13:47:40 myApp testApp-mediawiki: # 返回 -1

此错误来自 LDAP.log 文件。页面上的错误显示如下:

[8455eaa1ff08ab61643bd17d] /index.php?title=Special:PluggableAuthLogin MWException: 无法绑定到 LDAP:(-1) 无法联系 LDAP 服务器

在命令提示符下,我尝试了:

php ShowUserInfo.php --domain "domain.com" --username "username"

它显示了类似的错误。

来自 C:\inetpub\testAppMediwiki.apps.mydomain.com\extensions\LDAPProvider\src\Client.php 第 194 行的 MWException:无法绑定到 LDAP:(-1) 无法联系 LDAP 服务器 #0 C:\inetpub \testAppMediwiki.apps.mydomain.com\extensions\LDAPProvider\src\Client.php(117): MediaWiki\Extension\LDAPProvider\Client->establishBinding() #1 C:\inetpub\testAppMediwiki.apps.mydomain.com\extensions \LDAPProvider\src\Client.php(255): MediaWiki\Extension\LDAPProvider\Client->init() #2 C:\inetpub\testAppMediwiki.apps.mydomain.com\extensions\LDAPProvider\maintenance\ShowUserInfo.php(49 ): MediaWiki\Extension\LDAPProvider\Client->getUserInfo() #3 C:\inetpub\testAppMediwiki.apps.mydomain.com\maintenance\doMaintenance.php(112): MediaWiki\Extension\LDAPProvider\Maintenance\ShowUserInfo->执行() #4 C:\inetpub\testAppMediwiki.apps.mydomain。com\extensions\LDAPProvider\maintenance\ShowUserInfo.php(72): require_once('C:\inetpub\help...')

如果我使用端口 389 而不是 LDAP 安全的,它可以正常工作。

4

1 回答 1

0

这对我有用。我关注了这篇文章,但在第 5 步,而不是:TLS_CACERT c:\openldap\sysconf\webcert.crt 尝试:TLS_CACERTDIR "C:/openldap/sysconf/" 指定证书文件是不断给出错误的原因。使用作者在那篇文章中的示例代码但将这行代码放在开头会产生更有用的错误消息。我希望这对将来的某人有所帮助。

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
于 2021-12-16T16:29:41.470 回答