带有 LDAP 身份验证的 OTRS 不起作用

OTRS with LDAP authentication not working

我的服务器是 运行 OTRS 5s,需要在其中配置 LDAP 身份验证。

目前我有这个代码:

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '127.0.0.1';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'uid';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=tester,cn=adminuser,ou=users,dc=domain,dc=com';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'tester';

最后两行应该没问题,但我在网站上收到此错误

Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.

我也尝试了在这里和其他网站上找到的版本,但是对于以下代码根本不起作用:

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '127.0.0.1';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=adminuser,ou=users,dc=domain,dc=com';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=tester,cn=adminuser,ou=users,dc=domain,dc=com';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'tester';

但它会导致错误的密码或用户名和 apache error.log 调用

ERROR: OTRS-CGI-45 Perl: 5.20.2 OS: linux Time: Mon Dec  5 18:19:41 2016
Message: No UserID found for 'tester'!

两个代码都有

$Self->{'AuthModule::LDAP::Params'} = {
    port => 389,
    timeout => 120,
    async => 0,
    version => 3,
};

感谢任何帮助,谢谢。

用户(代理)需要存在于数据库中,然后才能对他们使用 LDAP 身份验证。手动添加它们或配置 AuthSyncModule 模块。

$Self->{'AuthModule::LDAP::Params'} 部分后使用以下参数:

$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname  => 'sn',
UserEmail     => 'mail',
};