• Deutsch
  • English
  • Anmeldung OTOBO Community
+49 (0)9427 68 39 000
OTOBO
  • SOFTWARE
    • Software | Überblick
    • IT Service Management
    • Customer Service Management
    • Enterprise Service Management
    • Demo
    • Download
    • Dokumentation
  • SERVICES
    • Überblick Services
    • Beratung
    • Training
    • Entwicklung
    • OTRS Migration zu OTOBO
    • Support
    • Managed Service
    • Support-Portal
  • UNTERNEHMEN
    • Über uns
    • Karriere
    • Partner
    • Kontakt
    • Newsletter
  • RESSOURCEN
  • COMMUNITY
    • Open Source
    • Community Forum
    • Download
    • Dokumentation
    • OTOBO übersetzen
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
Topic Resolution: Resolved

Schlagwörter: AD Anbindung Kundennutzer LDAP

Ansicht von 7 Antwort-Threads
  • Autor
    Beiträge
    • 22. Januar 2024 um 12:18 Uhr - Views: 1126 #29665
      Alexander Frieske
      Teilnehmer

        Guten Tag OTOBO Forum,

        ich habe für meine Begriffe die AD Anbindung zum Auslesen der Kundenbenutzer aus unserer AD soweit richtig umgesetzt. Es landen die beiden Testnutzer aus der AD Gruppe „mee_bg_otobo_user“ auch in OTOBO unter Kundennutzer. Zumindes werden sie mir dort angezeigt.

        Möchte ich mich nun aber mit einer der Nutzer im Kundenbereich unter unseredomain/otobo/costumer.pl anmelden, funktioniert das nicht. Benutzername oder Passwort würden nicht stimmen.

        Im Log finde ich komischerweise diesen Eintrag:
        Search failed! 000004DC: LdapErr: DSID-0C090CF4, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v4563

        Und hier mein Code dazu (IPs und PW geändert)

        #Customer LDAP Integration
        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = '1.2.3.4';
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET';
        $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
        $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=MEE_BG_OTOBO_USER,OU=MEE_Benutzergruppen,OU=MEEGroups,OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET';
        $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
        $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
        #$Self->{'Customer::AuthModule::LDAP::UserLowerCase'} = 1;

        # The following is valid but would only be necessary if the
        # anonymous user do NOT have permission to read from the LDAP tree
        $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=Admin, Testhausen,OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET';
        $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxxxx';

        #Customer Synchronisation
        $Self->{CustomerUser} = {
        Name => 'LDAP Backend',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
        Host => '1.2.3.4',
        BaseDN => 'OU=INetAccess,OU=MEEUsers,OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET',
        SSCOPE => 'sub',
        UserDN => 'CN=Admin, Testhausen,OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET',
        UserPw => 'xxxxx',
        #AlwaysFilter => '(&(objectclass=user)(memberof=CN=MEE_BG_OTOBO_USER,OU=MEE_Benutzergruppen,OU=MEEGroups,OU=Testhausen,DC=CCLEUROPE,DC=CCLIND,DC=NET))',
        Params => {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
        },
        },

        #Daten der Nutzer in die OTOBO Datenbank einfügen
        CustomerKey => 'sAMAccountName',
        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        CustomerUserNameFieldsJoin => '',
        CustomerUserExcludePrimaryCustomerID => 0,
        AdminSetPreferences => 0,
        Map => [
        [ 'UserTitle', Translatable('Title or salutation'), 'title', 1, 0, 'var', '', 1, undef, undef ],
        [ 'UserFirstname', Translatable('Firstname'), 'givenname', 1, 1, 'var', '', 1, undef, undef ],
        [ 'UserLastname', Translatable('Lastname'), 'sn', 1, 1, 'var', '', 1, undef, undef ],
        [ 'UserLogin', Translatable('Username'), 'sAMAccountName', 1, 1, 'var', '', 1, undef, undef ],
        [ 'UserEmail', Translatable('Email'), 'mail', 1, 1, 'var', '', 1, undef, undef ],
        [ 'UserCustomerID', Translatable('CustomerID'), 'mail', 0, 1, 'var', '', 1, undef, undef ],
        [ 'UserPhone', Translatable('Phone'), 'telephonenumber', 1, 0, 'var', '', 1, undef, undef ],
        [ 'UserAddress', Translatable('Address'), 'postaladdress', 1, 0, 'var', '', 1, undef, undef ],
        [ 'UserComment', Translatable('Comment'), 'description', 1, 0, 'var', '', 1, undef, undef ],
        ],
        };

      • 22. Januar 2024 um 12:25 Uhr #29858
        marcel-graf
        Teilnehmer

          Hallo Alexander,

          es fehlen die Customer authentication settings.

          In dem Post sollte der Abschnitt drin sein.

          https://otobo.io/de/forums/topic/otobo-docker-mit-kerberos-ohne-https/#post-15640

          Gruß Marcel

           

          • 22. Januar 2024 um 14:02 Uhr #29863
            Alexander Frieske
            Teilnehmer

              Hi Marcel,

              das hat mir erstmal sehr weitergeholfen, DANKE!
              Ich musste allerdings nach dem Reinkopieren in die config.pm noch alle Hochkomma ´ und ` in normale ‚ umwandeln.

              Noch ein kurze Frage,
              Ich würde gern beim import die Benutzernamen generell in Kleinbuchstaben umwandeln und dort hinten dran noch unsere EMail Domain @soundso.com hängen. Dann wäre nämlich der Username für die Anmeldung an OTOBO gleich unserer AD.
              Ich weiß dass es da einen „lowercase“ Befehl sowie „add suffix“ oder sowas gibt, weiß aber nicht wo ich das dann überall einfügen müsste.

              Könntest du mir da evtl. auch noch helfen?

               

               

          • 22. Januar 2024 um 14:09 Uhr #29864
            marcel-graf
            Teilnehmer

              Hallo Alexander,

              hier mal was aus dem Znuny Forum: https://community.znuny.org/viewtopic.php?t=22148

              Suche dort einfach mal im Post 1 nach lowercase.

              Bin heute schon im Feierabend :)

               

              Gruß Marcel

               

              • 23. Januar 2024 um 9:49 Uhr #29865
                Alexander Frieske
                Teilnehmer

                  Es geht jetzt Alles, auch Kundennutzer können sich mit dem AD Benutzernamen anmelden und müssen dort auch nicht auf Groß- und Kleinschreibung achten.

                  Vielen Dank nochmal für die tolle Hilfe und überhaupt den Support hier!!!

              • 29. Januar 2024 um 13:10 Uhr #29884
                Alexander Frieske
                Teilnehmer

                  Also ich zweifel grad an mir selbst. Bis Freitag hat die Anmeldung für Kundenbenutzer mit AD Abgleich einwandfrei funktioniert. Ohne dass etwas an diesem Abschnitt geändert wurde, geht es nicht mehr mit der Meldung „…Benutzername oder Passwort wurden falsch eingegeben“?!

                  Komischerweise wird im Apache2 LOG keine Fehlermeldung in der error.log ausgegeben.

                  Hier nochmal mein Abschnitt aus der config.pm:

                  ####################################
                  # Customer authentication settings #
                  ####################################

                  $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
                  $Self->{'Customer::AuthModule::LDAP::Host'} = 'XXXXXX';
                  $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=XXXXX,DC=CCLEUROPE,DC=CCLIND,DC=NET';
                  $Self->{'Customer::AuthModule::LDAP::UID'} = 'samaccountname';

                  # Check if the user is allowed to auth in a posixGroup
                  $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=XXXXXX,OU=MEE_Benutzergruppen,OU=MEEGroups,OU=Meerane,DC=CCLEUROPE,DC=CCLIND,DC=NET';
                  $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
                  $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'XXXXXX,OU=Meerane,DC=CCLEUROPE,DC=CCLIND,DC=NET';
                  $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'XXXXXX';

                  $Self->{'Customer::AuthModule::LDAP::UserLowerCase'} = 0;

                  $Self->{'Customer::AuthModule::LDAP::Params'} = {
                  port => 389,
                  timeout => 120,
                  async => 0,
                  version => 3,
                  };

                  $Self->{CustomerUser} = {
                  Name => 'LDAP Backend',
                  Module => 'Kernel::System::CustomerUser::LDAP',
                  Params => {
                  Host => 'XXXXXXX',
                  BaseDN => 'OU=XXXXXX,OU=MEEUsers,OU=Meerane,DC=CCLEUROPE,DC=CCLIND,DC=NET',
                  SSCOPE => 'sub',
                  UserDN => 'XXXXXXX,OU=Meerane,DC=CCLEUROPE,DC=CCLIND,DC=NET',
                  UserPw => 'XXXXXXX',
                  AlwaysFilter => '(&(objectclass=user)(mail=*)(memberof=XXXXXXXX,OU=MEE_Benutzergruppen,OU=MEEGroups,OU=Meerane,DC=CCLEUROPE,DC=CCLIND,DC=NET))',
                  },

                  CustomerKey => 'sAMAccountName',
                  CustomerID => 'mail',
                  CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
                  CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
                  CustomerUserPostMasterSearchFields => ['mail'],
                  CustomerUserNameFields => ['givenname', 'sn'],
                  CustomerUserSearchListLimit => 1000,
                  CustomerCompanySupport => 0,

                  Map => [
                  [ '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' ],
                  ],
                  };

                  # UserTable
                  $Self->{DatabaseUserTable} = 'users';
                  $Self->{DatabaseUserTableUserID} = 'id';
                  $Self->{DatabaseUserTableUserPW} = 'pw';
                  $Self->{DatabaseUserTableUser} = 'login';

                   

                • 29. Januar 2024 um 13:31 Uhr #29885
                  marcel-graf
                  Teilnehmer

                    Auf den ersten Blick sieht alles so aus, wie in meiner Testumgebung.

                    Bei Host hast du auch ldap:// immer davor stehen?

                    Als Always Filter kannst du auch folgendes probieren:

                    ‚(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=*)(sn=*)(givenname=*)(!(givenname=0)))‘

                  • 29. Januar 2024 um 13:44 Uhr #29886
                    marcel-graf
                    Teilnehmer

                      kannst auch nochmal bei Google suche nach „znuny ldap customer user kann sich nicht mehr einloggen“ schauen, da sind paar konkrete Posts zu finden.

                    • 29. Januar 2024 um 14:03 Uhr #29887
                      Alexander Frieske
                      Teilnehmer

                        Hab jetzt das Backup vom Vortag der gesamten VM eingespielt – läuft wieder. Was da inzwischen schiefgelaufen ist, keine Ahnung.

                        Trotzdem Danke für die Links, man lernt nie aus!

                      • 29. Januar 2024 um 17:36 Uhr #29890
                        Stefan Abel
                        Moderator

                          Hi Marcel,

                          „Bei Host hast du auch ldap:// immer davor stehen?“ => Das brauchst du nicht. Das Protokoll ist eigentlich nur bei LDAPS relevant (ldaps:// plus Port ändern, bspw. 636)

                          Hi Alexander,

                          gut, dass es jetzt wieder klappt, aber trotzdem eigenartig. Vielleicht wurde da irgendein komischer Zeichensatz kopiert?

                          Viele Grüße
                          Stefan

                      • Autor
                        Beiträge
                      Ansicht von 7 Antwort-Threads
                      • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

                      Foren durchsuchen

                      Anmeldung

                      Anmeldung

                      Konto erstellen
                      Passwort vergessen?

                      Login via Social

                      Profil

                      Bitte vervollständigen Sie nach der Registrierung Ihr Profil, das vereinfacht die spätere Kommunikation enorm. Ihre Profileinstellung finden Sie, wenn Sie auf Ihr Avatarbild klicken.

                      Sie können Ihren Avatar ändern, indem Sie sich mit Ihrer E-Mail-Adresse unter gravatar.com registrieren.

                      Letzte Aktivitäten

                      • Dynamische Felder in AgentTicketNote mit ACL verstecken
                      • FAQ: kaputtes Copy & Paste von Bildern zwischen Artikeln
                      • Benachrichtigung „Ticket wurde mir entzogen“ möglich?
                      • Statistik Anzahl Tickets pro Agent
                      • Docker: Ändern des redis Hosts

                      Unternehmen

                      Über uns
                      Karriere
                      Stellenbörse
                      Partner werden
                      Kontakt
                      Newsletter

                      OTOBO | Simplify work and create exceptional service experiences.

                      Die Source Code Owner und Maintainer hinter OTOBO.

                      Software

                      Service Management-Plattform
                      OTOBO Demo
                      OTOBO Download
                      OTOBO Dokumentation

                      Security-Problem melden:
                      security@otobo.org

                      Services

                      Support-Portal
                      Beratung
                      Training
                      Support
                      Managed Services
                      Erweiterung
                      OTRS Migration
                      Partner finden

                      Community

                      Open Source
                      Community Forum
                      Mitmachen
                      OTOBO Developer
                      OTOBO@GitHub

                      © 2026 Rother OSS GmbH | All rights reserved.
                      • Cookie-Einstellungen
                      • Impressum
                      • Datenschutz
                      • Haftungsausschluss
                      Nach oben scrollen Nach oben scrollen Nach oben scrollen