ich habe OTRS vor einiger Zeit unter CentOS 6.2 aus dem tar-archiv neu installiert (beim RPM-Paket gab es Probleme mit den CRON-Jobs), anschließend ein OTRS-backup von OTRS 3.0.7 wiederhergestellt und dieses auf 3.1.2 aktualisiert.
Kürzlich ist mir aufgefallen, dass die Daten zu einigen Kunden nicht korrekt per LDAP abgerufen werden.
Suche ich über "Kunden" einen Benutzer, so wird mir dieser korrekt mit Vor- und Nachname, Telefonnummer und E-Mail-Adresse angezeigt.
Möchte ich jetzt z.B. den Kunden eines Tickets auf eben diesen Benutzer ändern, funktioniert die Autovervollständigung und zeigt mir die in Frage kommenden Benutzer beim Tippen des Namens an.
Wähle ich diesen Benutzer dann aus, steht im Feld "Kontak" der vollständige Benutzername, das Feld "Kundennr" bleibt jedoch leer und es wird auch keine Ticket-Historie zum dem Benutzer angezeigt.
Parallel taucht im Systemprotokoll der Eintrag "error OTRS-CGI-10 Bad filter" auf.
Seltsamerweise tritt dies nicht bei allen Benutzern auf.
Ich verwende die LDAP-Anbindung nur als Datenquelle für die Tickets, Kunden können sich nicht direkt am System anmelden.
Tickets kommen entweder per E-Mail herein oder werden von bei einem Anruf angelegt.
Auszug aus der Datei Config.pm:
Code: Select all
# ---------------------------------------------------- #
# LDAP-Kundendaten
# ---------------------------------------------------- #
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser2} = {
Name => 'LDAP Datenquelle',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'dc1.mydomain.dom',
# ldap base dn
BaseDN => 'DC=mydomain,DC=dom',
# search scope (one|sub)
SSCOPE => 'sub',
# # The following is valid but would only be necessary if the
# # anonymous user does NOT have permission to read from the LDAP tree
UserDN => 'CN=otrs-user,OU=admin,DC=mydomain,DC=dom',
UserPw => 'xxxxxx',
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => .(mail=*). or AlwaysFilter => .(objectclass=115
#Kapitel 11. Einbinden externer Back-ends
#AlwaysFilter => '',
# if your frontend is e. g. iso-8859-1 and the charset of your
# ldap server is utf-8, use this options (if not, ignore it)
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
# 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 => 'samaccountname',
# customer #
CustomerID => 'mail',
#CustomerUserListFields => ['cn', 'mail'],
CustomerUserListFields => ['cn','samaccountname','description','mail'],
#CustomerUserSearchFields => ['uid', 'cn', 'mail'],
CustomerUserSearchFields => ['name'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 1000,
CustomerUserPostMasterSearchFields => ['name','mail','samaccountname'],
CustomerUserNameFields => ['givenname', 'surname'],
# show now own tickets in customer panel, CompanyTickets
CustomerUserExcludePrimaryCustomerID => 0,
# add a ldap filter for valid users (expert setting)
#CustomerUserValidFilter => .(!(description=gesperrt)).,
# 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-[ .UserSalutation., .Title., .title., 1, 0, .var., ., 0 ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var'],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var'],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
]
};
$Self->{'LogSystemCacheSize'} = 64 * 1024;
Kann mir jemand weiterhelfen?