当配置为使用 LDAP 时 Testlink 停止工作

当配置为使用 LDAP 时 Testlink 停止工作

我在一台服务器上运行 TestLink webservice,在另一台服务器上运行 OpenLDAP。它们之间没有防火墙问题(我设法在与 TestLink 相同的服务器上配置 Redmine,以使用 LDAP 身份验证)。

但是每当我在 TestLink 中放置 LDAP 的配置时,TestLink 就会停止工作。我不知道发生了什么。

这是我在 custom_config.inc.php 上定义 LDAP 的设置的地方:

$tlCfg->authentication['method'] = 'LDAP';
$tlCfg->authentication['ldap_server'] = 'serverip';
$tlCfg->authentication['ldap_port'] = '389';
$tlCfg->authentication['ldap_version'] = '2';
$tlCfg->authentication['ldap_root_dn'] = 'dc=mycompany,dc=com,dc=br';
$tlCfg->ldap_organization'] = '';
$tlCfg->authentication['ldap_uid_field'] = 'uid';
$tlCfg->authentication['ldap_bind_dn'] = 'myuser'; //Not actual login name and password, for obvious reasons
$tlCfg->authentication['ldap_bind_passwd'] = 'mypassword';
$tlCfg->authentication['ldap_tls'] = false;
$tlCfg->user_self_signup = true;

我确定 OpenLDAP 是 2.X。我的 TestLink 版本是 1.9.3

我可能做错了什么?

答案1

我解决了。有一些愚蠢的小错误。

首先,正如@Terry Gardner 指出的那样,我应该使用 LDAPv3:

$tlCfg->authentication['ldap_version'] = '3';

其次,这句话是错误的:

$tlCfg->ldap_organization'] = '';

正确的版本应该是:

$tlCfg->authentication['ldap_organization'] = '';

最后,在 /etc/php.ini 上我添加了

extension=ldap.so

为此,我需要从 yum 安装 php-ldap 包。

yum install php-ldap

相关内容