Ich scheitere beim Versuch, OTRS 4.0.7 zusammen mit LDAP zum Laufen zu bringen.
Eine Alte Version (2.2.x) hatte ich erfolgreich im Betrieb gehabt. Nun steht das Update an. Die Version 4.0.7 habe ich auf CentOS 6 frisch augesetzt.
Nach dem Login erscheint die Fehler-Meldung:
Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.
Meine Config.pm sieht folgendermassen aus (Ausschnitt für den LDAP Teil):
Code: Select all
# -------------------------------------------------- #
# OTRS User Login via LDAP #
# -------------------------------------------------- #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'dc1.****';
$Self->{'AuthModule::LDAP::BaseDN'} = '*****';
$Self->{'AuthModule::LDAP::UID'} = 'uid';
$Self->{'AuthModule::LDAP::SearchUserDN'} = '*****';
$Self->{'AuthModule::LDAP::SearchUserPw'} = '*****';
# -------------------------------------------------- #
# UserSyncLDAPMap #
# -------------------------------------------------- #
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'dc1.****';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = '*****';
$Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = '*****';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '*****';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
# -------------------------------------------------- #
# Customer User Login via LDAP #
# -------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'dc1.****';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = '*****';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = '*****';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = '*****';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 3268,
version => 3,
};
# -------------------------------------------------- #
# Customer user ldap backend and settings #
# -------------------------------------------------- #
$Self->{CustomerUser} = {
Name => 'LDAP',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'dc1.*',
BaseDN => '*****',
SSCOPE => 'sub',
UserDN => '*****',
UserPw => '*****',
AlwaysFilter => '',
# OTRS is utf-8 (set at the top of this file)
# LDAP is iso-8859-1
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
Params => {
port => 3268,
timeout => 120,
async => 0,
version => 3,
},
},
# customer uniq id
CustomerKey => 'uid',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['displayname', 'mail'],
CustomerUserSearchFields => ['uid', 'displayname', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# show now own tickets in customer panel, CompanyTickets
CustomerUserExcludePrimaryCustomerID => 0,
# add a ldap filter for valid users (expert setting)
# admin can't change customer preferences
AdminSetPreferences => 0,
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'uid', 1, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'employeeNumber', 0, 1, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};
In der alten Version war der Sync teil folgendermassen definiert:
Code: Select all
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
Firstname => 'givenName',
Lastname => 'sn',
Email => 'mail',
};
Hat jemand eine Idee, was das Problem sein könnte?
Viele Grüsse und vielen Dank im voraus.