Sonntag, 26. April 2009

OTRS an LDAP anbinden

Vor kurzem musste ich das Open Source Ticket System OTRS einführen. Die Installation an sich auf einem Ubuntu-Linux Server verlieg problemlos. Jedoch wurde noch gewünscht das Ticket System an eine bestehende Active Directory Datenbank anzubinden. Das hat den Vorteil, dass sich die Anwender (in diesem Fall die Mitarbeiter des Unternehmens) nicht nochmal zusätzlich anmelden müssen und ihre Windows Logindaten benutzen können.

Allerdings verlief das ganze nicht problemlos. Alle auffindbaren Quellen zu diesem Thema führten für mich nicht zum Erfolg. Deswegen werde ich hier nun kurz den Abschnitt meiner Config.pm posten, der es schlussendlich ermöglichte:

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.1.11';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain, dc=com';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'Suchbenutzer';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Suchbenutzer_Passwort';

$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '192.168.1.11',
BaseDN => 'dc=domain, dc=com',
SSCOPE => 'sub',
UserDN => 'Suchbenutzer',
UserPw => 'Suchbenutzer_Passwort',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
# [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
# [ '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' ],
# [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
# [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};


Host wird mit eurem Active Directory Server ersetzt. Es ist sicherer hierbei die IP und nicht einen DNS-Namen einzugeben.

BaseDN wird folgendermaßen ersetzt: Angenommen eure Domain heißt 'firma.lokal' müsse es dc=firma dc=lokal lauten.

UID darf nicht verändert werden. Diese ist zur korrekten Funktion unerlässlich.

Als SearchUserDN könnt ihr einen x-beliebigen Active Directory Benutzer wählen. Wir haben extra einen neuen eingerichtet und ihm ein eigenes Exchange-Postfach verpasst, damit man E-Mails an diesen fiktiven User schreiben kann und sie sofort als Ticket erfasst werden.

Das wars auch eigentlich schon ! Hoffe euch geholfen zu haben.

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.