so langsam bekomm ich hier echt nen Fön. Seit geschlagenen 6 Stunden hock ich hier und versuche, OTRS 3.1 an unser verdammtes LDAP anzubinden. Ich möchte keine Authentifizierung. Mir geht es lediglich darum, dass meine User aus einer bestimmten OU aus dem AD als Kunden ins OTRS gezogen werden. Die Installation läuft auf einem Windows 2003 Server, der sich nicht in der Domain befindet.
Das ganze scheint schon zu funktionieren. Zumindest bekomme ich im Log keine Fehlermeldungen mehr. Auch die Datenquelle unter Kunden wird angezeigt. Nur ist die Liste absolut leer. Es ist jetzt nicht so, dass ich mich zum ersten Mal mit einem AD und dem LDAP auseinandersetzen würde. Generell ist es kein Problem, mir Abfragen zu schreiben. Ich habe extra alle benötigten DNs nochmal mit dsquery überprüft und die Ausgaben direkt mit Copy&Past in die Config-Datei eingefügt.
Außerdem bin ich in meiner Verzweiflung jetzt dazu über gegangen, einfach das Codestück aus der Doku zu kopieren und für mich anzupassen:
Code: Select all
# CustomerUser
# (customer ldap backend and settings)
$Self->{CustomerUser} = {
Name => 'LDAP Data Source',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'DENHPPAD001.PROD.MEINEFIRMA.COM',
# ldap base dn
BaseDN => 'OU=Employees,OU=Users,OU=DENH,OU=Germany,OU=EMEA,DC=prod,DC=MEINEFIRMA,DC=com',
# 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=SVC-DENH-LDAP,OU=Service Accounts,OU=Users,OU=DENH,OU=Germany,OU=EMEA,DC=prod,DC=MEINEFIRMA,DC=com',
UserPw => 'MEINPASSWORT',
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
AlwaysFilter => '',
# if both your frontend and your LDAP are unicode, use this:
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
# if your frontend is unicode and the charset of your
# ldap server is iso-8859-1, use these options.
# SourceCharset => 'iso-8859-1',
# DestCharset => 'utf-8',
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},
# customer unique id
CustomerKey => 'uid',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['uid', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# show not own tickets in customer panel, CompanyTickets
CustomerUserExcludePrimaryCustomerID => 0,
# add an ldap filter for valid users (expert setting)
# CustomerUserValidFilter => '(!(description=locked))',
# administrator can't change customer preferences
AdminSetPreferences => 0,
# # cache time to live in sec. - cache any database queries
# CacheTTL => 0,
Map => [
# note: Login, Email and CustomerID are mandatory!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserTitle', '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', 'mail', 0, 1, 'var', '', 0 ],
# [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};
Ich habe auch schon Spiceworks mit genau dem selben User erfolgreich zur Zusammenarbeit mit unserem AD bewegen können. Also schließe ich ein Problem mit unserem AD-Controller mal aus.
Vielen Dank schonmal im Voraus für Eure Hilfe.
Viele Grüße
Daniel