• 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ü

Schlagwörter: Kundeninformation ldap

Ansicht von 2 Antwort-Threads
  • Autor
    Beiträge
    • 5. März 2025 um 13:53 Uhr - Views: 595 #34371
      David En
      Teilnehmer

        Hallo liebe Community,

        ich habe in unserem System (OTOBO 11.0.7) kürzlich ein CustomerUser-Backend über ldap angebunden, da ich dachte, dass mir dann u.a. unter dem Widget „Kundeninformation“ nützliche Informationen wie Mail, Telefon usw. angezeigt werden können.

        Allerdings bekomme ich keine Kundeninformationen angezeigt, obwohl die ldap-Verbindung funktioniert.

        Zumindest werden im Adressbuch Treffer angegeben, die allerdings nicht angezeigt werden, wenn ich beispielsweise nach einem Namen suche, wie hier zu sehen ist:

        Außerdem werden beim Erstellen/Antworten von/auf Tickets auch die E-Mails der Kundenbenutzer angezeigt, wenn ich im „An“-Feld etwas eintippe.

        Hier nochmal die ldap-Konfiguration aus „Config.pm“ (wie gesagt die ldap-Verbindung funktioniert):

        # insert your own config settings "here" #
        # config settings taken from Kernel/Config/Defaults.pm #
        # ---------------------------------------------------- #
        $Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
        $Self->{'AuthModule::LDAP::Host'} = 'ldaps://beispiel.de';
        $Self->{'AuthModule::LDAP::BaseDN'} = 'o=beispiel';
        $Self->{'AuthModule::LDAP::UID'} = 'uid';
        # $Self->{SessionUseCookie} = 0;
        # $Self->{CheckMXRecord} = 0;

        # CustomerUser
        # (customer user ldap backend and settings)
        $Self->{CustomerUser} = {
        Name => 'LDAP Backend',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
        # ldap host
        Host => 'ldap://adressbuch-beispiel.de',
        # ldap base dn
        BaseDN => 'ou=people,o=beispiel',
        # search scope (one|sub)
        SSCOPE => 'sub',
        # The following is valid but would only be necessary if the
        # anonymous user does NOT have permission to read from the LDAP tree
        UserDN => '',
        UserPw => '',
        # in case you want to add always one filter to each ldap query, use
        # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
        AlwaysFilter => '',
        # if the charset of your ldap server is iso-8859-1, use this:
        # SourceCharset => 'iso-8859-1',
        # die if backend can't work, e. g. can't connect to server
        Die => 0,
        # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
        Params => {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
        },
        },
        # customer unique id
        CustomerKey => 'cn',
        # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenName', 'sn'],
        # Configures the character for joining customer user name parts. Join single space if it is not defined.
        CustomerUserNameFieldsJoin => ' ',
        # show customer user and customer tickets in customer interface
        CustomerUserExcludePrimaryCustomerID => 0,
        # add a ldap filter for valid users (expert setting)
        # CustomerUserValidFilter => '(!(description=gesperrt))',
        # Translate manager flag in mapping from its Distinguished Name to cn, sAMAccountName, uid, mail, etc.
        # TranslateManagerTo => 'sAMAccountName',
        # admin can't change customer preferences
        AdminSetPreferences => 0,
        # cache time to live in sec. - cache any ldap queries
        # CacheTTL => 0,
        Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
        # [ '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'), 'uid', 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 ],
        # [ 'UserCustomerIDs', Translatable('CustomerIDs'), 'second_customer_ids', 1, 0, 'var', '', 1, undef, undef ],
        # [ 'UserManager', Translatable('Manager'), 'manager', 1, 0, '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 ],

        # this is needed, if "SMIME::FetchFromCustomer" is active
        # [ 'UserSMIMECertificate', 'SMIMECertificate', 'userSMIMECertificate', 0, 1, 'var', '', 1, undef, undef ],

        # Dynamic field example
        # [ 'DynamicField_Name_X', undef, 'Name_X', 0, 0, 'dynamic_field', undef, 0, undef, undef ],
        ],
        };

         

        Kann mir jemand sagen was das Problem sein könnte?

        Vielen Dank und schöne Grüße

      • 7. März 2025 um 6:45 Uhr #34380
        Lars Hampe
        Teilnehmer

          Du hast das Maping nicht aktiviert.

          Map => [
          # note: Login, Email and CustomerID needed!
          # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
          # [ ‚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‘), ‚uid‘, 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 ],
          # [ ‚UserCustomerIDs‘, Translatable(‚CustomerIDs‘), ’second_customer_ids‘, 1, 0, ‚var‘, “, 1, undef, undef ],
          # [ ‚UserManager‘, Translatable(‚Manager‘), ‚manager‘, 1, 0, ‚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 ],

          # this is needed, if „SMIME::FetchFromCustomer“ is active
          # [ ‚UserSMIMECertificate‘, ‚SMIMECertificate‘, ‚userSMIMECertificate‘, 0, 1, ‚var‘, “, 1, undef, undef ],

          Bei den gewünschten Informationen den Kommentar entfern

          Map => [
          # note: Login, Email and CustomerID needed!
          # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
          # [ ‚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‘), ‚uid‘, 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 ],
          # [ ‚UserCustomerIDs‘, Translatable(‚CustomerIDs‘), ’second_customer_ids‘, 1, 0, ‚var‘, “, 1, undef, undef ],
          # [ ‚UserManager‘, Translatable(‚Manager‘), ‚manager‘, 1, 0, ‚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 ],

          Bei den gewünschten Informationen den Kommentar entfernen.

          siehe auch Admin Handbuch

        • 7. März 2025 um 16:29 Uhr #34395
          David En
          Teilnehmer

            Hallo Lars,

            es funktioniert jetzt. Mir ist dank deiner Antwort aufgefallen, dass Login, Email und CustomerID notwendig sind. Ich hatte nur Firstname, Lastname und Email gemappt. Ich schätze mal, dass es daran lag. Danke dir!

        • Autor
          Beiträge
        Ansicht von 2 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

        • Mandantenfähigkeit
        • 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

        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