ldap - 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}
我绝对没有进一步的想法,什么可能是错的,我可以尝试什么。我希望有人在那里,可以提供帮助!
谢谢和问候
比约恩
解决方案
首先,确保您的进程用户/etc/mediawiki/ldapprovider.json
可以读取该文件(如)。fpm-fcgi
www-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
从你的网络服务器的命令行。
推荐阅读
- python - 双斜杠字符串在函数内部变成单斜杠
- c++ - 如何在没有 c++ 对象的情况下调用函数?
- android - 无法在 findViewById 中解析 Inflater 中的符号
- jenkins-pipeline - hashcorp Vault 与 Jenkins 管道的集成
- c# - 如何使用 ClientCredentials grantType 向 IdentityServer4 生成的我的访问令牌添加声明
- python - 下面的代码将删除以 date1 开头的文件夹。但我想删除除 date1 之外的所有文件夹。所以请帮助。Thx
- javascript - 使用 firebase.auth().sendPasswordResetEmail() 检查电子邮件是否发送成功
- ios - SauceLabs 混合应用程序测试自动化会话未在 iOS 设备上启动
- doxygen - 如果使用 \code,Doxygen 不会记录一个类
- html - 如何使用 Selenium 和 webdriver 提取网页源的一部分?