wenn du NUR LDAP anbinden willst dann
musst du den ersten Teil auskommentieren, siehe Bsp.
Ich hab dir die Änderungen die du machen
musst mal fett markiert.
Es wird nicht "verglichen"
sondern der Wert ensprechend dem Feld übernommen. Als Kundennummer wird
die Mail Adresse des Users genommen, ist insoweit sinnvoll als das du hier
zwischen den Usern differenzierst.
Wo welche Felder genommen werden siehst
du im letzten Block.
# This is an example configuration
for an LDAP auth. backend.
# (take care that Net::LDAP is
installed!)
$Self->{'Customer::AuthModule'}
= 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'}
= 'IPADRESSE';
$Self->{'Customer::AuthModule::LDAP::BaseDN'}
= 'DC=DOMAIN,DC=local';
$Self->{'Customer::AuthModule::LDAP::UID'}
= 'sAMAccountName';
# The following is valid but
would only be necessary if the
# anonymous user do NOT have
permission to read from the LDAP tree
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'}
= 'CN=USER,CN=Users,DC=DOAMIN,DC=local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'}
= 'PASSWORD';
ich versuche eine Agent-Auth. via LDAP zu konfigurieren.
Anscheinend
mangels ausreichender Perl-Kenntnisse habe ich dabei einige Probleme und
bitte um Nachhilfe. Die Admin-Doku ist da leider nicht ausreichend für
mich
und in der Dev.-Doku finde ich nichts entsprechendes.
*Wie läuft die Auth. via LDAP ab? Offenbar wird die
DB ebenfalls benötigt.
*Welche Attribute welcher Objekte werden womit verglichen?
-Failed und Success in einer Meldung!?!?
-member=testuser? Im Attr. member der Gruppe steht aber:
'cn=testuser,ou=Abt,o=company'
'testuser' wäre uid;
==========================
System:
-Der LDAP-Host ist eDir (KEIN MAD!)
-DB (MySQL) ist auf entferntem Host scheint aber zu funktionieren (Ohne
LDAP geht's)
Vielen Dank für eure Unterstützung
Bye
Bernd
Ab hier kommen Ausschnitte aus config.pm; messages
und die Ergebnisse der
ldap abfragen.
==========================
Config.pm: $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ldap.domain.tld';
$Self->{'AuthModule::LDAP::BaseDN'} = 'ou=Abt,o=company';
$Self->{'AuthModule::LDAP::UID'} = 'uid';
<=Was soll hier stehen? Wozu ist der Eintrag gut?
# Check if the user is allowed to auth in a posixGroup
# (e. g. user needs to be in a group xyz to use otrs)
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=otrsagent,ou=Abt,o=company';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
<=Was soll hier stehen? Wozu ist der Eintrag gut?
# for ldap posixGroups objectclass (just uid)
$Self->{'AuthModule::LDAP::UserAttr'} = 'entryDN';
<=Was soll hier stehen? Wozu ist der Eintrag gut?
# for non ldap posixGroups objectclass (with full user dn)
#$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
<=Was soll hier stehen? Wozu ist der Eintrag gut?
# The following is valid but would only be necessary
if the
# anonymous user do NOT have permission to read from the LDAP tree
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=ldapproxy,o=company';
#$Self->{'AuthModule::LDAP::SearchUserPw'} = ”;
# in case you want to add always one filter to each
ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
#$Self->{'AuthModule::LDAP::AlwaysFilter'} = ”;
# in case you want to add a suffix to each login name,
then
# you can use this option. e. g. user just want to use user but
# in your ldap directory exists user@domain.
#$Self->{'AuthModule::LDAP::UserSuffix'} = '@domain.com';
# Net::LDAP new params (if needed - for more info
see perldoc
Net::LDAP) $Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
#
# agent data sync against ldap
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ldap://ldap.domain.tld/';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'ou=Abt,o=company';
$Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=ldapproxy,o=company';
#$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'some_pass';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
Phone => 'telephoneNumber',
Username => 'uid',
comment => 'description',
};
==========================
Ausgabe messages:
OTRS-CGI-10[29564]:
[Error][Kernel::System::Auth::LDAP::Auth][Line:276]: Search failed!
base='cn=otrsagent,ou=Abt,o=company', filter='(member=testuser)', Success
OTRS-CGI-10[29564]:
[Error][Kernel::System::User::UserLookup][Line:696]: No UserID found for
'testuser'!
==========================
Ergebnis einer Abfrage via ldapsearch:
Nach dem Benutzer:
dn: cn=testuser,ou=Abt,o=company
homeDirectory: /home/testuser
mail: testuser@domain.tld
uid: testuser
eMailAddress: testuser@domain.tld