Hallo zusammen,

wir würden gerne 2 verschiedene Kunden Back-ends verwenden, einmal die
MySQL Datenbank auf dem localhost und als zweite ein LDAP Verzeichniss.
Haben des auch eigentlich schon hinbekommen, es wird uns im Agenten Admin Bereich
unter Kunden Benutzer alle Kunden angezeigt, nur bei der Anmeldung auf der Customer.pl benutzt das
System nur das LDAP Verzeichniss.

Ist es bei OTRS möglich eine Anmeldung möglich, die gleichzeitig auf 2 verschiedene Datenbanken zugreift?



Mit freundlichen Grüßen


Sebastian Heim


Anbei die Config.pm




       $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB';



        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = 'XXXXXX.dns.net';
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'O=XXXXX';
        $Self->{'Customer::AuthModule::LDAP::UID'} = 'cn';


        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = 'XXX.dns.net';
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'O=XXX';
        $Self->{'Customer::AuthModule::LDAP::UID'} = 'cn';



# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree

#        $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=OTRS Service, ou=People, dc=example, dc=com';
#        $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'secret';

# CustomerUser
# (customer user database backend and settings)

        $Self->{CustomerUser} = {
        Name => 'MySQL',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => { Table => 'customer_user',

# to use an external database

#         DSN => ’DBI:odbc:yourdsn’,
#         DSN => ’DBI:mysql:database=customerdb;host=customerdbhost’,
#         User => ”, Password => ”,
        },


# customer uniq id
        CustomerKey => 'login',
        CustomerID => 'customer_id',
        CustomerValid => 'valid_id',
        CustomerUserListFields => ['first_name', 'last_name', 'email'],
        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['salutation', 'first_name', 'last_name'],

# ReadOnly => 1,

        Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown, required, storage-type, http-link
        [ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var' ],
        [ 'UserFirstname' , 'Firstname' , 'first_name', 1, 1, 'var' ],
        [ 'UserLastname'  , 'Lastname'  , 'last_name' , 1, 1, 'var' ],
        [ 'UserLogin'     , 'Login'     , 'login'     , 1, 1, 'var' ],
        [ 'UserPassword'  , 'Password'  , 'pw'        , 0, 1, 'var' ],
        [ 'UserEmail'     , 'Email'     , 'email'     , 0, 1, 'var' ],
        [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var' ],
        [ 'UserComment'   , 'Comment'   , 'comments'  , 1, 0, 'var' ],
        [ 'ValidID'       , 'Valid'     , 'valid_id'  , 0, 1, 'int' ],
                ],
        };


# CustomerUser1
# (customer user ldap backend and settings)
        $Self->{CustomerUser1} = {
        Module => 'Kernel::System::CustomerUser::LDAP',
        Name => 'Notes',
        Params => {
# ldap host
        Host => 'XXXX.dns.net',

# ldap base dn
        BaseDN => 'O=XXXX',

# 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=OTRS Service, ou=People, dc=example, dc=com’,
#        UserPw => ’secret’,
#        AlwaysFilter => ”,
#        SourceCharset => ’utf-8’,
#        DestCharset => ’iso-8859-1’,
        },

# customer uniq id
        CustomerKey => 'cn',

# customer #

        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
#        [ ’UserSalutation’, ’Title’, ’title’, 1, 0, ’var’ ],
         [ 'UserFirstname', 'Firstname' , 'givenname', 1, 1, 'var' ],
         [ 'UserLastname' , 'Lastname'  , 'sn'       , 1, 1, 'var' ],
         [ 'UserLogin'    , 'Login'     , 'cn'       , 1, 1, 'var' ],
         [ 'UserEmail'    , 'Email'     , 'mail'     , 1, 1, 'var' ],
         [ 'UserCustomerID','CustomerID', 'mail'     , 0, 1, 'var' ],
         [ 'UserPhone'    ,'Phone', 'telephonenumber', 1, 0, 'var' ],
        [ 'UserAddress', 'Address','postaladdress', 1, 0, 'var' ],
        [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
        ],
    };


# CustomerUser2
# (customer user ldap backend and settings)
        $Self->{CustomerUser2} = {
        Module => 'Kernel::System::CustomerUser::LDAP',
        Name => 'Novell',
        Params => {
# ldap host
        Host => 'XXXX.dns.net',

# ldap base dn
        BaseDN => 'O=XXX',

# 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=OTRS Service, ou=People, dc=example, dc=com’,
#        UserPw => ’secret’,
#        AlwaysFilter => ”,
#        SourceCharset => ’utf-8’,
#        DestCharset => ’iso-8859-1’,
        },

# customer uniq id
        CustomerKey => 'cn',

# customer #

        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['cn', 'mail','sn'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
#        [ ’UserSalutation’, ’Title’, ’title’, 1, 0, ’var’ ],
         [ 'UserFirstname', 'Firstname' , 'givenname', 1, 1, 'var' ],
         [ 'UserLastname' , 'Lastname'  , 'sn'       , 1, 1, 'var' ],
         [ 'UserLogin'    , 'Login'     , 'cn'       , 1, 1, 'var' ],
         [ 'UserEmail'    , 'Email'     , 'mail'     , 1, 1, 'var' ],
         [ 'UserCustomerID','CustomerID', 'mail'     , 0, 1, 'var' ],
         [ 'UserPhone'    ,'Phone', 'telephonenumber', 1, 0, 'var' ],
        [ 'UserAddress', 'Address','postaladdress', 1, 0, 'var' ],
        [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
        ],
    };