[solved]Anzeige LDAP-Kundendaten in Tickets

Hilfe zu Znuny Problemen aller Art
Locked
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

[solved]Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo,

an welchen Stellen muss ich die LDAP-Kundendaten anbinden um die Telefonnummer, Namen und E-Mail-Adresse des
Kunden, der ein Ticket via Mail anlegt? Ich habe in der config.pm und über configsys Frontend::Customer::Auth
alle Daten eingestellt aber die Kundendaten werden in der Ticket-Übersicht nicht angezeigt.

Die Kunden sollen keinen Zugriff auf die customer.pl bekommen. Wir benötigen die Daten nur für die Agenten.
Welche Berechtigung muss ich hierfür den Usern zuweisen?

Sorry, ich habe viel im Forum gesucht bin aber nicht fündig geworden und das Handbuch hilft auch nicht mehr weiter.

Danke vorab

Ulrike Frehner
Last edited by ulifrehner on 10 Aug 2011, 16:13, edited 1 time in total.
OTRS: 3.0.8
MySQL 5
fossil
Znuny newbie
Posts: 88
Joined: 19 Jan 2011, 11:39
Znuny Version: 3.0.8
Location: München

Re: Anzeige LDAP-Kundendaten in Tickets

Post by fossil »

Hallo ulifrehner,

kannst du erklären ob die "Kunden" theoretisch per LDAP über die Conf.pm gezogen werden bei dir?
Wenn ja, wir haben unser "Kundeninfo" aus dem LDAP hinterlegt sprich, im AD in der entsprechenden Benutzerprofil mit allen Inhalten wie Tel, Bereich usw. hinterlegen und dieser sollte anhand dessen diese Information beziehen.

Beispiel Config.pm:

Code: Select all

    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' ],
    [ 'UserDepartment', 'Abteilung', 'department', 1, 0, 'var', '', 1 ],
    ],
    };
VG, Fossil
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

Re: Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo Fossil,

nein, leider klappt schon die Anmeldung an das Customer.pl nicht.
Das Mapping in der config.pm ist vorhanden.

In der config ist das AuthModule auf LDAP und AuthModule2 auf DB eingestellt.
Die Anmeldung mit den Daten aus der DB läuft und die Kundendaten werden auch
im Ticket angezeigt.

Ich habe in den Config-Einstellungen die kompletten LDAP-Infos eingetragen.
Jetzt weiß ich einfach nicht mehr welches "Rädchen" noch "gedreht" werden muss.

Den AD-Lese-User gibt es und auch die Pfadangaben des LDAPs sind laut unserem
Admin korrekt.

Ich bin über jede Idee dankbar.

Danke vorab
OTRS: 3.0.8
MySQL 5
fossil
Znuny newbie
Posts: 88
Joined: 19 Jan 2011, 11:39
Znuny Version: 3.0.8
Location: München

Re: Anzeige LDAP-Kundendaten in Tickets

Post by fossil »

Hallo,

kleiner Gegentest:

Wenn du im Admin-Webfrontend von OTRS bist und auf Kunden gehst, hier einen beliebigen "Kunden" auswählst sollte nun mit der Bezeichnung: "Kunden bearbeiten" eigentlich alle Daten vorhanden sein.
Ist dem so?

VG, Fossil
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

Re: Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo,

nö, da hakt es leider schon.
Wenn ich mein LDAP auswähle und dann nach einem Kunden (z.B. mich) oder mit * suche
erhalte ich die Info "Keine Daten gefunden".

D.h. irgendwas an der LDAP-Anbindung funktioniert nicht.

Im Übrigen können sich die Agenten mit ihrem LDAP-Accoutn + PSW anmelden.

Gruß Ulrike
OTRS: 3.0.8
MySQL 5
fossil
Znuny newbie
Posts: 88
Joined: 19 Jan 2011, 11:39
Znuny Version: 3.0.8
Location: München

Re: Anzeige LDAP-Kundendaten in Tickets

Post by fossil »

Die Agenten werden manuell hinterlegt, dass passiert nicht (zumindestens mir noch nicht bekannt) automatisch.

Ich geb dir mal eine Beispiel-Config von mir [ bzw. von boris & jojo - DANKE Jungs! :-) ]

Quelle 1: http://forums.otrs.org/viewtopic.php?f=17&t=7558
Quelle 2: http://forums.otrs.org/viewtopic.php?f=17&t=7423

Code: Select all

#--------------------------------------------------------------------------------------------#
#                      Customer      DE     LDAP Anmeldung                                                      #
#--------------------------------------------------------------------------------------------#
        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = 'AD-Systemname oder IP’;
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} ='OU=Gruppe,DC=meine,DC=domain,DC=de'; 

# hier die DN
        
# in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist

        $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
        $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRS-Customers,OU=OTRSGruppe,DC=meine,DC=domain,DC=de'; # das gleiche wie bei den Agents
        
# nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen

        $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member'; #s.o.
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de'; 

#s.o. das hier wäre dann der userPrincipalName
        
#ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
        $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
        $Self->{'Customer::AuthModule::LDAP::Params'} = {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
            SourceCharset => 'utf-8',
            DestCharset => 'utf-8',
            };

Code: Select all

#--------------------------------------------------------------------------------------------#
#                            UserSyncLDAPMap                                                    #
#--------------------------------------------------------------------------------------------#
      $Self->{'UserSyncLDAPMap'} =  {
      'UserEmail' => 'mail',
      'UserFirstname' => 'givenName',
      'UserLastname' => 'sn',
      'UserLogin' => 'sAMAccountName'
    };     
    $Self->{CustomerUser} = {
    Name => 'Firmenname XY',
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
    Host => 'AD-Servername oder IP’,
    BaseDN => 'DC=meine,DC=domain,DC=de',
    SSCOPE => 'sub',
    UserDN => 'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de', # wieder DN oder UserPrincipalName
    UserPw => 'password',
    #AlwaysFilter =>  '',
# falls ihr was ausschliessen wollt:
#AlwaysFilter => Hier werden nur Benutzer zugelassen die einen Wert mit (Mitglied von “OTRSGruppe“) #belegt sind – das heißt, nur User in der OTRSGruppe dürfen auf die Customer.pl eine Anmeldung tätigen.    
    AlwaysFilter =>  '(&(objectCategory=person)(objectClass=user)(memberOf=CN=OTRS-Customers,OU=OTRSGruppe,DC=meine,DC=domain,DC=de))',
    #AlwaysFilter =>  '(&(objectCategory=person)(objectClass=user))',   
        SourceCharset => 'utf-8',
         DestCharset   => 'utf-8',
 },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchListLimit => 1000,  
# die Anzahl der User die in euerer Kundenbersicht 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' ],
    [ 'UserDepartment', 'Abteilung', 'department', 1, 0, 'var', '', 1 ],
    ],
    };
Damit sollte es funktionieren!

Noch ein Zusatz. Sollte ihr einen Filter verwenden muss der OTRS"Searcher" folgende Berechtigungen besitzen: "pre 2000 compatible users group" + "Domain-User" + "Windows-Autorisierungszugriffsgruppe"
Quelle: http://forums.otrs.org/viewtopic.php?f=35&t=7703

VG, Fossil
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

Re: Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo,

danke erst mal.
Die User werden jetzt in der Kundenansicht und in der Ticketansicht angezeigt.

Allerdings klappt das Anmelden an die customer.pl nicht.

Bei uns sollen alle User im AD in den Tickets angezeigt werden, aber nur eine Hand voll darf über die customer.pl arbeiten.
D.h. wir haben eine Gruppe AD-Read (liest alle AD-User aus, das klappt) und eine Gruppe OTRS-Customer (die Kollegen dürfen mit der customer.pl) arbeiten.

Wenn wir den Filter aktivieren, dann können wir uns gar nicht mehr an das OTRS anmelden.

Die DB-User kann ich in den Tickets sehen und die können sich auch anmelden.
Also scheint irgendwas an der LDAP-config nicht zu passen, aber ich finde nicht warum.

Noch eine Idee?

Danke vorab

Tschüß Ulrike
config.txt
You do not have the required permissions to view the files attached to this post.
OTRS: 3.0.8
MySQL 5
fossil
Znuny newbie
Posts: 88
Joined: 19 Jan 2011, 11:39
Znuny Version: 3.0.8
Location: München

Re: Anzeige LDAP-Kundendaten in Tickets

Post by fossil »

Hallo,

wenn Ihr den Filter anwendet, muss der LDAP-User (beispielsweise OTRS-Searcher) folgende zusatzberechtigungen erhalten ("pre 2000 compatible users group" + "Domain-User" + "Windows-Autorisierungszugriffsgruppe" ) um auf den Inhalt des "Kunden" auf den Verweis zur Erlaubnis des Zugriffs (beispielsweise OTRS-Customers) auf "memberOf - OTRS-Customers" zu überprüfen. Mit diesem Problem hatte ich auch zu kämpfen bis ich die Berechtigung zum Auslesen der Benutzerinformationen dazu gefunden hatte.

Ich habe drei Abhängigkeiten im LADP geschaffen, Beispiel hier:

- OTRS-Agents (Sicherheitsgruppe) = alle Supportler & Admins
- OTRS-Customers (Sicherheitsgruppe) = alle Kunden
- OTRS-Searcher (Benutzer) = LDAP Sync

Hier nochmals das Script wie es funktioniert.

Code: Select all

##############################################################################################
                  #----------------------------------------------------------#
                  #                                                          #
                  #        LDAP Authentifizierung Agenten und Customer       #
                  #                                                          #
                  #----------------------------------------------------------#
                                
                                
#Agenten Authentifizierung DB
   # Backend DB fuer Agenten
   #$Self->{'AuthModule10'} = 'Kernel::System::Auth::DB';
   #$Self->{'AuthModule::DB::CryptType10'} = 'crypt';
  
##############################################################################################

##############################################################################################
#--------------------------------------------------------------------------------------------#
#                                   LDAP Anbindung Firma                                                  #
#--------------------------------------------------------------------------------------------#

#--------------------------------------------------------------------------------------------#
#                         Authentifizierung Agenten via LDAP (AD) Firma                                            #
#--------------------------------------------------------------------------------------------#

# Aber hier steht ein wichtiger Beitrag von jojo
# http://forums.otrs.org/viewtopic.php?f=17&t=7423
# da bin ich auch drauf reingefallen bezüglich der Nummerierung, muss man halt erst mal wissen:-)

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'AD-Servername oder IP';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=meine,DC=domain,DC=de'; 

$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS-Agents,OU=OTRSGruppe,DC=meine,DC=domain,DC=de';
 # nur Mitlieder dieser Gruppe dürfen sich einloggen
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
};
     $Self->{'UserSyncLDAPMap'} =  {
     'UserEmail' => 'mail',
     'UserFirstname' => 'givenName',
     'UserLastname' => 'sn',
     'UserLogin' => 'sAMAccountName'
    };


#--------------------------------------------------------------------------------------------#
#                      Customer      DE     LDAP Anmeldung                                                      #
#--------------------------------------------------------------------------------------------#
        $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
        $Self->{'Customer::AuthModule::LDAP::Host'} = 'AD-Systemname oder IP’;
        $Self->{'Customer::AuthModule::LDAP::BaseDN'} ='OU=Gruppe,DC=meine,DC=domain,DC=de';
        $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
        $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRS-Customers,OU=OTRSGruppe,DC=meine,DC=domain,DC=de'; # das gleiche wie bei den Agents
        
        $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member'; #s.o.
        $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de'; 

        $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
        $Self->{'Customer::AuthModule::LDAP::Params'} = {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
            SourceCharset => 'utf-8',
            DestCharset => 'utf-8',
            };


#--------------------------------------------------------------------------------------------#
#                                   LDAP System Users                                          #
#--------------------------------------------------------------------------------------------#
        $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
        $Self->{'AuthModule::LDAP::Host'} =  'AD-Servername oder IP;
        $Self->{'AuthModule::LDAP::BaseDN'} =  'DC=meine,DC=domain,DC=de';
        $Self->{'AuthModule::LDAP::UID'} =  'sAMAccountName';
        $Self->{'AuthModule::LDAP::SearchUserDN'} =  'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de';
        $Self->{'AuthModule::LDAP::SearchUserPw'} =  'password';
        $Self->{'AuthModule::LDAP::Params'} =  {
              'async' => '0',
              'timeout' => '120',
              'version' => '3',
              'port' => '389',
            };

        $Self->{'AuthModule::LDAP::Die'} = 1;

#--------------------------------------------------------------------------------------------#
#                            UserSyncLDAPMap                                                    #
#--------------------------------------------------------------------------------------------#
      $Self->{'UserSyncLDAPMap'} =  {
      'UserEmail' => 'mail',
      'UserFirstname' => 'givenName',
      'UserLastname' => 'sn',
      'UserLogin' => 'sAMAccountName'
    };     
    $Self->{CustomerUser} = {
    Name => 'Firmenname XY',
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
    Host => 'AD-Servername oder IP’,
    BaseDN => 'DC=meine,DC=domain,DC=de',
    SSCOPE => 'sub',
    UserDN => 'CN=OTRS-Searcher,OU=OTRSGruppe,DC=meine,DC=domain,DC=de', # wieder DN oder UserPrincipalName
    UserPw => 'password',
    #AlwaysFilter =>  '',
    AlwaysFilter =>  '(&(objectCategory=person)(objectClass=user)(memberOf=CN=OTRS-Customers,OU=OTRSGruppe,DC=meine,DC=domain,DC=de))', 
        SourceCharset => 'utf-8',
         DestCharset   => 'utf-8',
 },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    CustomerUserSearchListLimit => 1000,  
    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' ],
    [ 'UserDepartment', 'Abteilung', 'department', 1, 0, 'var', '', 1 ],
    ],
    };
#--------------------------------------------------------------------------------------------#
#                                Firma Ende                                                               
#--------------------------------------------------------------------------------------------#
fossil
Znuny newbie
Posts: 88
Joined: 19 Jan 2011, 11:39
Znuny Version: 3.0.8
Location: München

Re: Anzeige LDAP-Kundendaten in Tickets

Post by fossil »

Und, konnte ich euch damit etwas weiterhelfen? Wie ist hier der Stand?

VG, Fossil
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

Re: Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo Fossil,

nein, bisher klappt es irgendwie noch nicht.
Ich habe aber seit Mittwoch nicht mehr weiter probiert (war außer Haus).
Versuche es heute noch mal und gebe auf alle Fälle Bescheid.

Vielen Dank !!!

Tschüß Ulrike
OTRS: 3.0.8
MySQL 5
luluxiu
Znuny newbie
Posts: 3
Joined: 20 Jul 2011, 11:55
Znuny Version: version 3.0
Company: Power strong
Contact:

Re: Anzeige LDAP-Kundendaten in Tickets

Post by luluxiu »

Irgendwie ist es nicht auch funktionieren. Aber ich habe nicht versucht, weil am Mittwoch (auswärts) weiter. Versuchen Sie es erneut veröffentlichte heute eine Mitteilung über alle Fälle....
ulifrehner
Znuny newbie
Posts: 57
Joined: 20 Jun 2011, 08:20
Znuny Version: 3.0.8
Real Name: Ulrike Frehner
Company: Fega & Schmitt Elektrogroßhandel

Re: Anzeige LDAP-Kundendaten in Tickets

Post by ulifrehner »

Hallo Fossil,

so unsere Kunden-LDAP-Anbindung passt jetzt.
Wir haben unsere Config.sys und unsere AD-Einträge immer und immer wieder gecheckt aber daran lag es nicht.
Nachdem wir den Eintrag Customer::AuthModule::LDAP::UserAttr auf DN gesetzt haben läuft's.

Danke noch mal für Deine Unterstützung.

Gruß Ulrike
OTRS: 3.0.8
MySQL 5
Locked