OTRS - Customer Backend zwei LDAP AD Domänen

Allgemein Fragen, deutsche News, Ankündigungen & Events zu Znuny
Locked
thomas1
Znuny newbie
Posts: 4
Joined: 03 Sep 2014, 16:12
Znuny Version: 3.3.8

OTRS - Customer Backend zwei LDAP AD Domänen

Post by thomas1 »

Hallo zusammen,

ich versuche gerade OTRS 3.3.8 mit zwei Windows AD Domänen zu verknüpfen, damit sich die Benutzer als Customer anmelden können.

Soweit funktioniert das auch, Benutzer beider Domänen können sich auf der customer.pl anmelden ABER ich sehe, wenn ich mich als Admin anmelde auf der index.pl nur die Benutzer einer Domäne, nicht die anderen. Diese werden wohl nicht gesynct oder nicht angezeigt (ich weiß nicht ob die Anzeige unter Admin/Kundenbenutzer angepasst werden muß, damit er beide Domänen anzeigt. Ich kann aber auch nur, wenn ich die Suche verwende, die Benutzer der einen Domäne sehen. Komisch ist das sich die Benutzer der Domäne 2 aber trotzdem anmelden können.

Haben Sie eine Idee wie ich das in den Griff bekomme?

Danke und Gruß
Thomas

anbei die Ausschnitte aus der Config.pm:

Code: Select all

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
#                                                            Customer 1                                                     #
#------------------------------------------------------------------------------------------------------------------------------#
        $Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host2'} = 'server1';
        $Self->{'Customer::AuthModule::LDAP::BaseDN2'} ='DC=domain1,DC=de'; # hier die DN
              # in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
        $Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
              $Self->{'Customer::AuthModule::LDAP::GroupDN2'} = 'CN=OTRS_Customer,OU=Users,DC=domain1,DC=de'; # das gleiche wie bei den Agents
              # nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
              #$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'memberUid'; #s.o.
                #$Self->{'AuthModule::AuthModule::UserAttr'} = 'DN';
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = 'user@domain1.de'; #s.o. das hier wä dann der userPrincipalName
              #ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
        $Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = 'kennwort';
             $Self->{'Customer::AuthModule::LDAP::Params2'} = {
            port => 3268,
            timeout => 120,
            async => 0,
            version => 3,
                      };
                $Self->{'AuthModule::LDAP::Die2'} = 1;

################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
#                                                            Customer 2                                                #
#------------------------------------------------------------------------------------------------------------------------------#
        $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host1'} = 'server2';
        $Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='dc=domain2,dc=de'; # hier die DN
              # in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
        $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
              $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'cn=OTRS_Customer,ou=Gruppen,dc=domain2,dc=de'; # das gleiche wie bei den Agents
              # nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
              $Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member'; #s.o.
                #$Self->{'AuthModule::AuthModule::UserAttr1'} = 'DN';
                $Self->{'Customer::AuthModule::LDAP::UserAttr1'} = 'DN';
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'user@domain2.de'; #s.o. das hier wä dann der userPrincipalName
              #ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
        $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'kennwort';
             $Self->{'Customer::AuthModule::LDAP::Params1'} = {
            port => 3268,
            timeout => 120,
            async => 0,
            version => 3,
                      };
                $Self->{'AuthModule::LDAP::Die1'} = 1;

				
				#------------------------------------------------------------------------------------------------------------------------------#
#                                                           UserSyncLDAPMap                                                     #
#------------------------------------------------------------------------------------------------------------------------------#

      $Self->{'UserSyncLDAPMap2'} =  {
      'UserEmail' => 'mail',
      'UserFirstname' => 'givenName',
      'UserLastname' => 'sn',
      'UserLogin' => 'sAMAccountName'
    };

    $Self->{CustomerUser2} = {
    Name => 'Customer2',
    Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
    Host => 'ip vom server',
    BaseDN => 'DC=domain1,DC=de',
    SSCOPE => 'sub',
    UserDN => 'user@domain1.de', # wieder DN oder UserPrincipalName
    UserPw => 'kennwort',
        AlwaysFilter =>  '(&(objectclass=user)(mail=*.*))',
        #AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@domain1.com))',
        # falls ihr was ausschliessen wollt:
        # AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
    },
#    Table => 'customer_user',
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
#       CustomerUserSearchListLimit => 2000,  # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
    # die Zeile muss nicht rein, macht aber bei uns hier Sinn.

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

#------------------------------------------------------------------------------------------------------------------------------#
#                                             UserSyncLDAPMap 2                                                   #
#------------------------------------------------------------------------------------------------------------------------------#

      $Self->{'UserSyncLDAPMap1'} =  {
      'UserEmail' => 'mail',
      'UserFirstname' => 'givenName',
      'UserLastname' => 'sn',
      'UserLogin' => 'sAMAccountName'
    };

    $Self->{CustomerUser1} = {
    Name => 'Customer1',
    Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
    Host => 'ip',
    BaseDN => 'dc=domain2,dc=de',
    SSCOPE => 'sub',
    UserDN => 'user2@domain2.de', # wieder DN oder UserPrincipalName
    UserPw => 'kennwort',
        AlwaysFilter =>  '(&(objectclass=user)(mail=*.*))',
                # falls ihr was ausschliessen wollt:
        # AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
#    Table => 'customer_user',
    GroupDN => 'cn=OTRS_Customer,ou=Gruppen,dc=domain2,dc=de',
    AccessAttr => 'member',
    },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
#       CustomerUserSearchListLimit => 2000,  # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
    # die Zeile muss nicht rein, macht aber bei uns hier Sinn.

    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' ],
    ],
    };
KlausNehrer
Znuny ninja
Posts: 1312
Joined: 25 May 2012, 08:51
Znuny Version: OTRS 4
Real Name: Klaus Nehrer

Re: OTRS - Customer Backend zwei LDAP AD Domänen

Post by KlausNehrer »

Siehst Du nur die von "1" oder von "2"?
Und die Suche nach einem eindeutigen Objekt in der "anderen" Domäne bringt genau welches Ergebnis? Und welche Einträge finden sich dazu im Log?
thomas1
Znuny newbie
Posts: 4
Joined: 03 Sep 2014, 16:12
Znuny Version: 3.3.8

Re: OTRS - Customer Backend zwei LDAP AD Domänen

Post by thomas1 »

Hallo,

ich sehe nur die von Domain1. Alle Benutzer die in Domain1 neu angelegt werden sehe ich ebenso.

Lege ich einen Benutzer test in der Domain2 an, sehe ich diesen nicht und wenn ich nach test suche under Kundenbenutzer dann finde ich diesen auch nicht, er kann sich aber ganz normal anmelden. Es ist auch egal was ich als Customer auswähle es kommen immer nur die Benutzer von Domain1.

das Systemlog zeigt absolut keine Fehler. Aber nach meinem Verstädnis sollten doch alle Benutzer sichtbar sein.

Danke für die schnelle Antwort.

Gruß
Thomas
Locked