wie wahrscheinlich viele andere vor mir, stehe ich nun ebenfalls vor der Aufgabe, die Kundenbenutzer aus dem LDAP zu ziehen und mittels des Apachemoduls mod_authnz_ldap ein Single Sign On zu realisieren.
Ich glaube ich habe alle Einträge dazu hier im Forum gelesen, aber leider hat keiner eine abschließende Beschreibung geliefert, mit der man das gewünschte umsetzen könnte.
Deswegen hoffe ich auf eure Hilfe, um dann abschließend eine Lösung für nachfolgende präsentieren zu können.
Folgender Stand:
Dass die Kundendaten ansich aus dem LDAP gezogen werden, habe ich mit folgendem Eintrag in die config.pam erreicht:
Code: Select all
# ---------------------------------------------------- #
# LDAP-Config #
# ---------------------------------------------------- #
# Authentifizierung der Kundenbenutzer
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'pdcserver';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=Customer,ou=Users,ou=Root,dc=meine,dc=domain,dc=de';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
# User-Account zum Auslesen des LDAP
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=otrs-users,ou=IT-Users,ou=Root,dc=meine,dc=domain,dc=de';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'meinPasswort';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'dc=meine,dc=domain,dc=de';
# CustomerUser1
# (customer user ldap backend and settings)
$Self->{CustomerUser1} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'pdcserver',
# ldap base dn
BaseDN => 'ou=Customer,ou=Users,ou=Root,dc=meine,dc=domain,dc=de',
# search scope (one|sub)
SSCOPE => 'one',
# 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-users,ou=IT-Users,ou=Root,dc=meine,dc=domain,dc=de',
UserPw => 'meinPasswort',
AlwaysFilter => '(objectclass=user)',
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-15',
},
# customer uniq id
CustomerKey => 'sAMAccountName',
#CustomerKey => 'uid',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
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' ],
],
};
Code: Select all
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
Danke für eure Hilfe, maeck