首页 > 解决方案 > MediWiki LDAP 无法绑定到 LDAP (-1) - 无法联系 LDAPServer

问题描述

我希望有一个人可以帮助我!我正在尝试使用 ldap 登录配置 MediaWiki。我安装了必要的插件:

MediaWiki 1.34.1 PHP 7.2.11 (fpm-fcgi) MariaDB 10.3.17-MariaDB

LDAPAuthentication2 1.0.1 LDAPAuthorization 1.1.0 LDAPProvider 1.0.4 PluggableAuth 5.7

我用这个 json-File 配置它:

{
"test.de": {
    "connection": {
        "server": "server.test.de",
        "port" : "389",
        "user": "cn=******,ou=no gpo,ou=spz,ou=usr,ou=auth,dc=test,dc=de",
        "pass": "******",
        "enctype": "clear",
        "options": {
            "LDAP_OPT_DEREF": 1
        },
        "basedn": "DC=test,DC=de",
        "binddn": "DC=test,DC=de",
        "groupbasedn": "DC=test,DC=de",
        "userbasedn": "DC=test,DC=de",
        "searchattribute": "sAMAccountName",
        "searchstring": "TEST\\USER-NAME",
        "usernameattribute": "sAMAccountName",
        "realnameattribute": "cn",
        "emailattribute": "mail"
    },
    "userinfo": [],
    "groupsync": []
}

}

我的 localSettings 如下所示:

# Berechtingung zum Einloggen über exterene Authentifizierung
$wgGroupPermissions['*']['autocreateaccount'] = true;
# als erstes wird PlugableAuth angebunden
wfLoadExtension( 'PluggableAuth' );
# $wgPluggableAuth_EnableAutoLogin  = true;
# $wgPluggableAuth_EnableLocalLogin     = true;

# LDAPProvider
$LDAPProviderDomainConfigs = "/etc/mediawiki/ldapprovider.json";

wfLoadExtension( 'LDAPProvider' );
wfLoadExtension( 'LDAPAuthorization' );
wfLoadExtension( 'LDAPAuthentication2' );

$LDAPAuthentication2AllowLocalLogin     = true;
# $LDAPAuthentication2UsernameNormalizer    = true;

$wgShowExceptionDetails = true;
$wgShowSQLErrors = true;
$wgShowDBErrorBacktrace = true;

当我尝试通过 LDAPProvider“CheckLogin”和“ShowUserInfo”中的维护工具连接到 LDAP 时,一切似乎都很好。当我进入我的 MediaWiki 的登录页面时,第一眼看起来不错。有一个带有下拉菜单的登录表单可以选择我的域或本地登录。本地登录工作正常。但是使用我的域凭据登录会出现此错误:

[Xw8bEmunzqHDU7iHR4WlBgAAAEk] /mediawiki/index.php?title=Spezial:PluggableAuthLogin MWException from line 168 of /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php: Could not bind to LDAP: (-1) Can't contact LDAP server

Backtrace:

#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(91): MediaWiki\Extension\LDAPProvider\Client->establishBinding()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(328): MediaWiki\Extension\LDAPProvider\Client->init()
#2 /var/www/html/mediawiki/extensions/LDAPAuthentication2/src/PluggableAuth.php(81): MediaWiki\Extension\LDAPProvider\Client->canBindAs(string, string)
#3 /var/www/html/mediawiki/extensions/PluggableAuth/includes/PluggableAuthLogin.php(31): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->authenticate(NULL, string, NULL, NULL, NULL)
#4 /var/www/html/mediawiki/includes/specialpage/SpecialPage.php(575): PluggableAuthLogin->execute(NULL)
#5 /var/www/html/mediawiki/includes/specialpage/SpecialPageFactory.php(611): SpecialPage->run(NULL)
#6 /var/www/html/mediawiki/includes/MediaWiki.php(296): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#7 /var/www/html/mediawiki/includes/MediaWiki.php(900): MediaWiki->performRequest()
#8 /var/www/html/mediawiki/includes/MediaWiki.php(527): MediaWiki->main()
#9 /var/www/html/mediawiki/index.php(44): MediaWiki->run()
#10 {main}

我绝对没有进一步的想法,什么可能是错的,我可以尝试什么。我希望有人在那里,可以提供帮助!

谢谢和问候

比约恩

标签: ldapmediawiki

解决方案


首先,确保您的进程用户/etc/mediawiki/ldapprovider.json可以读取该文件(如)。fpm-fcgiwww-data

如果这没有帮助,您应该检查您的 Web 服务器的连接性。安装ldap-utils,然后键入ldapsearch -h "server.test.de" -p 389 -D "cn=******,ou=no gpo,ou=spz,ou=usr,ou=auth,dc=test,dc=de" -w "******" -x -v -b "DC=test,DC=de". 输出可能会给你一些关于什么是错误的提示。到目前为止,似乎根本没有连接到 LDAP 服务器。你可以ping server.test.de从你的网络服务器的命令行。


推荐阅读