Kundenbenutzer (Emails) aus dem LDAP

Hilfe zu Znuny Problemen aller Art
Locked
ANobbe
Znuny newbie
Posts: 4
Joined: 28 Jun 2017, 10:53
Znuny Version: 5.0.20

Kundenbenutzer (Emails) aus dem LDAP

Post by ANobbe »

Hallo,

wir würden gern die Kundenbenutzer (Email Empfänger) aus einem LDAP Adressbuch ziehen. Hierfür wurde ein LDAP Server aufgesetzt (testweise) und mit Demoeinträgen gefüttert.

Über die Shell lassen sich diese auch mittels ldapsearch auslesen aber bei der Integration in OTRS (5) hapert es leider noch.

Anbei mal der Auszug aus der Config.pm und dem ldapsearch

Config.pm

Code: Select all

   $Self->{CustomerUser2} = {
        Name => 'LDAP Database Backend',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
            Host => 'ldap.server.de',
            # ldap base dn
            BaseDN => 'ou=adresses,dc=server,dc=de',
            # 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 => 'cn=admin,dc=server,dc=de',
            UserPw => '1234',
            # 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 => 'uid',
        CustomerKey => 'st',
        # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
#        CustomerUserSearchFields => ['uid', 'cn', 'mail'],
        CustomerUserSearchFields => ['st', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenName', 'sn'],
        # show now own tickets in customer panel, CompanyTickets
        CustomerUserExcludePrimaryCustomerID => 0,
        # add a ldap filter for valid users (expert setting)
        # CustomerUserValidFilter => '(!(description=gesperrt))',
        # 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',      'Title',      'title',           1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'givenName',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
           # [ 'UserLogin',      'Username',   'uid',             1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'st',             1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
           # [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'st',            0, 1, 'var', '', 0 ],
            [ 'UserStreet',     'Street',     'street',          1, 0, 'var', '', 0 ],
            [ 'UserZip',        'Zip',        'postalCode',      1, 0, 'var', '', 0 ],
            [ 'UserCity',       'City',       'l',               1, 0, 'var', '', 0 ],
            # [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
            #[ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
            #[ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
            #[ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
            # this is needed, if "SMIME::FetchFromCustomer" is active
            # [ 'UserSMIMECertificate', 'SMIMECertificate', 'userSMIMECertificate',      0, 1, 'var', '', 0 ],
        ],
    };
ldapsearch

Code: Select all

ldapsearch -h ldap.server.de:389 -x -b "ou=addresses,dc=server,dc=de" -D "cn=admin,dc=server,dc=de" -W
Ausgabe

Code: Select all

Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <ou=addresses,dc=server,dc=de> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# addresses, server.de
dn: ou=addresses,dc=server,dc=de
ou: addresses
objectClass: organizationalUnit
objectClass: top

# Testuser, addresses, server.de
dn: cn=Testuser,ou=addresses,dc=server,dc=de
cn: Testuser
givenName: Testuser
l: Testhausen
mail: testuser@server.de
o: server corp
objectClass: inetOrgPerson
objectClass: top
postalCode: 12345
sn: Testuser
street: Teststrasse123
st: 123

...

Vielleicht sieht da jemand direkt woran es hapert ?

Auf jeden Fall schon mal Danke im voraus,
Alexander
Last edited by ANobbe on 01 Jul 2019, 16:32, edited 1 time in total.
root
Administrator
Posts: 4250
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Kundenbenutzer (Emails) aus dem LDAP

Post by root »

Hi,

keine Fehlermeldung im Log wenn nach Kunden gesucht wird?

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
ANobbe
Znuny newbie
Posts: 4
Joined: 28 Jun 2017, 10:53
Znuny Version: 5.0.20

Re: Kundenbenutzer (Emails) aus dem LDAP

Post by ANobbe »

Hallo Roy
und danke für die Antwort.

Die einzige Fehlermeldung die ich erhalte ist die folgende (werde daraus aber so nicht schlau)

Code: Select all

ERROR: OTRS-otrs.Console.pl-Maint::PostMaster::MailAccountFetch-123 Perl: 5.18.2 OS: linux Time: Thu Jun 27 08:38:02 2019

 Message: Search failed! No such object

 Traceback (12942):
   Module: Kernel::System::CustomerUser::LDAP::CustomerSearch Line: 417
   Module: Kernel::System::CustomerUser::CustomerSearch Line: 178
   Module: Kernel::System::PostMaster::NewTicket::Run Line: 174
   Module: Kernel::System::PostMaster::Run Line: 413
   Module: Kernel::System::MailAccount::POP3::Fetch Line: 212
   Module: Kernel::System::MailAccount::MailAccountFetch Line: 440
   Module: Kernel::System::Console::Command::Maint::PostMaster::MailAccountFetch::Run Line: 94
   Module: (eval) Line: 460
   Module: Kernel::System::Console::BaseCommand::Execute Line: 454
   Module: (eval) Line: 150
   Module: Kernel::System::Daemon::DaemonModules::SchedulerTaskWorker::Cron::Run Line: 129
   Module: Kernel::System::Daemon::DaemonModules::SchedulerTaskWorker::Run Line: 250
   Module: (eval) Line: 316
   Module: main::Start Line: 316
   Module: /opt/otrs/bin/otrs.Daemon.pl Line: 138

ERROR: OTRS-otrs.Console.pl-Maint::PostMaster::MailAccountFetch-123 Perl: 5.18.2 OS: linux Time: Thu Jun 27 08:38:02 2019

 Message: No such object

 Traceback (12942):
   Module: Kernel::System::CustomerUser::LDAP::CustomerUserDataGet Line: 822
   Module: Kernel::System::CustomerUser::CustomerUserDataGet Line: 321
   Module: Kernel::System::Ticket::Event::WarningsArticle::Run Line: 68
   Module: Kernel::System::EventHandler::EventHandler Line: 225
   Module: Kernel::System::Ticket::TicketCreate Line: 566
   Module: Kernel::System::PostMaster::NewTicket::Run Line: 253
   Module: Kernel::System::PostMaster::Run Line: 413
   Module: Kernel::System::MailAccount::POP3::Fetch Line: 212
   Module: Kernel::System::MailAccount::MailAccountFetch Line: 440
   Module: Kernel::System::Console::Command::Maint::PostMaster::MailAccountFetch::Run Line: 94
   Module: Kernel::System::PostMaster::Run Line: 413
   Module: Kernel::System::MailAccount::POP3::Fetch Line: 212
   Module: Kernel::System::MailAccount::MailAccountFetch Line: 440
   Module: Kernel::System::Console::Command::Maint::PostMaster::MailAccountFetch::Run Line: 94
   Module: (eval) Line: 460
   Module: Kernel::System::Console::BaseCommand::Execute Line: 454
   Module: (eval) Line: 150
   Module: Kernel::System::Daemon::DaemonModules::SchedulerTaskWorker::Cron::Run Line: 129
   Module: Kernel::System::Daemon::DaemonModules::SchedulerTaskWorker::Run Line: 250
   Module: (eval) Line: 316
   Module: main::Start Line: 316
   Module: /opt/otrs/bin/otrs.Daemon.pl Line: 13
Locked