Hauptmenü

Probleme mit LDAP Anbindung

Begonnen von Krouch, 13.05.2019 15:54:45

⏪ vorheriges - nächstes ⏩

Krouch

Hallo zusammen,
ich habe hier und auch über Google schon einiges zum Thema "LDAP Anbindung" gelesen und gefunden. Leider schaffe ich es aber nicht, diese zum Laufen zu bringen und würde etwas Hilfe benötigen- Seht ihr hier vielleicht auf Anhieb einen Fehler im Text unten (den Code habe ich teilweise aus dem Forum)?

- Wenn ich den oberen Teil der Anmeldung der Agenten aktiviert habe, kann ich mich nicht mal mehr mit dem Root anmelden. Wenn ich ihn auskommentiere, geht es zwar, aber ich finde bei den Kunden keine User.



#Net::LDAP Aktivierung#   
   
    # 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,
    };       
   
#------------------------------------------------------------------------------------------------------------------------------#
#                                     Authentifizierung Agenten via LDAP (AD) Firma                                            #
#------------------------------------------------------------------------------------------------------------------------------#


$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'dcgag01';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=dmgag,DC=gag,DC=kohlbecker,DC=company';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'OU=IT,DC=dmgag,DC=gag,DC=kohlbecker,DC=company'; # nur Mitglieder dieser Gruppe dürfen sich einloggen
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=administrator,CN=users,DC=dmgag,DC=gag,DC=kohlbecker,DC=company';
$Self->{'AuthModule::LDAP::SearchUserPw'} = '********';


     $Self->{'UserSyncLDAPMap'} =  {
     'UserEmail' => 'mail',
     'UserFirstname' => 'givenName',
     'UserLastname' => 'sn',
     'UserLogin' => 'sAMAccountName'
   };


   
#------------------------------------------------------------------------------------------------------------------------------#
#                                     Authentifizierung Kunden via LDAP (AD) Firma                                             #
#------------------------------------------------------------------------------------------------------------------------------#


    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} = 'dcgag01';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=dmgag,DC=gag,DC=kohlbecker,DC=company';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=Domänen-Benutzer,CN=Users,DC=dmgag,DC=gag,DC=kohlbecker,DC=company';
    $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=administrator,CN=users,DC=dmgag,DC=gag,DC=kohlbecker,DC=company';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = ''********'';


    #Keine deaktivierten User dürfen sich anmelden
    $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(!(userAccountControl:1.2.840.113556.1.4.803:=2))';




    # Die if backend can't work, e. g. can't connect to server.
    $Self->{'AuthModule::LDAP::Die'} = 1;

   


Gruß
Thomas   
   

KIX-User2

... das Problem hatte ich am Anfang auch.
Das Backend unterscheidet über weitere Zusätze bei der Konfiguration, welche Datenbanken es abruft. Will man z.B. weiterhin lokale User (z.B. root@localhost) zulassen, muss man die lokale DB einbinden:
    # -----Local KIX-User in the DB like root------------- #
    $Self->{'Customer::AuthModule'}                       = 'Kernel::System::CustomerAuth::DB';
    $Self->{'Customer::AuthModule::DB::Table'}            = 'customer_user';
    $Self->{'Customer::AuthModule::DB::CustomerKey'}      = 'login';
    $Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'pw';

Will man mehrere LDAP-DBs anbinden, z.B. für Customer und Agenten, so kann man z.B. eine fortlaufende Nummer nutzen:
    $Self->{AuthModule2} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host2'} = '<IP>';
    $Self->{'AuthModule::LDAP::BaseDN2'} = 'OU=<LDAP>';
    $Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::SearchUserDN2'} = '<User im LDAP>';
    $Self->{'AuthModule::LDAP::SearchUserPw2'} = '<Passwort>';
    $Self->{'AuthModule::LDAP::AlwaysFilter2'} = '(&(mail=*)(!(cn=adm*))(!(objectclass=computer)))';
    $Self->{'AuthModule::LDAP::UserLowerCase2'} = 1;
    $Self->{'AuthModule::LDAP::Params2'} = {
        port    => 389,
        timeout => 120,
        async   => 0,
        version => 3,
    };
    $Self->{'AuthModule::LDAP::Die2'} = 1;

Das sollte funktionieren.
Gruß und viel Erfolg
        Günther