Schlagwörter: 

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

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

        • #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!

        Ansicht von 2 Antwort-Themen
        • Du musst angemeldet sein, um auf dieses Thema antworten zu können.