Unvollständige Kundendaten aus Active Directory (LDAP)

Hilfe zu Znuny Problemen aller Art
Locked
mreichelt
Znuny newbie
Posts: 10
Joined: 11 Aug 2009, 16:12
Znuny Version: 2.4.1

Unvollständige Kundendaten aus Active Directory (LDAP)

Post by mreichelt »

Hallo,

ich habe OTRS vor einiger Zeit unter CentOS 6.2 aus dem tar-archiv neu installiert (beim RPM-Paket gab es Probleme mit den CRON-Jobs), anschließend ein OTRS-backup von OTRS 3.0.7 wiederhergestellt und dieses auf 3.1.2 aktualisiert.
Kürzlich ist mir aufgefallen, dass die Daten zu einigen Kunden nicht korrekt per LDAP abgerufen werden.

Suche ich über "Kunden" einen Benutzer, so wird mir dieser korrekt mit Vor- und Nachname, Telefonnummer und E-Mail-Adresse angezeigt.
Möchte ich jetzt z.B. den Kunden eines Tickets auf eben diesen Benutzer ändern, funktioniert die Autovervollständigung und zeigt mir die in Frage kommenden Benutzer beim Tippen des Namens an.
Wähle ich diesen Benutzer dann aus, steht im Feld "Kontak" der vollständige Benutzername, das Feld "Kundennr" bleibt jedoch leer und es wird auch keine Ticket-Historie zum dem Benutzer angezeigt.
Parallel taucht im Systemprotokoll der Eintrag "error OTRS-CGI-10 Bad filter" auf.
Seltsamerweise tritt dies nicht bei allen Benutzern auf.

Ich verwende die LDAP-Anbindung nur als Datenquelle für die Tickets, Kunden können sich nicht direkt am System anmelden.
Tickets kommen entweder per E-Mail herein oder werden von bei einem Anruf angelegt.

Auszug aus der Datei Config.pm:

Code: Select all

    # ---------------------------------------------------- #
	# LDAP-Kundendaten
	# ---------------------------------------------------- #
	
		# CustomerUser
		# (customer user ldap backend and settings)
		$Self->{CustomerUser2} = {
		Name => 'LDAP Datenquelle',
		Module => 'Kernel::System::CustomerUser::LDAP',
		Params => {
		# ldap host
		Host => 'dc1.mydomain.dom',
		# ldap base dn
		BaseDN => 'DC=mydomain,DC=dom',
		# 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-user,OU=admin,DC=mydomain,DC=dom',
		UserPw => 'xxxxxx',
		# in case you want to add always one filter to each ldap query, use
		# this option. e. g. AlwaysFilter => .(mail=*). or AlwaysFilter => .(objectclass=115
		#Kapitel 11. Einbinden externer Back-ends
		#AlwaysFilter => '',
		# if your frontend is e. g. iso-8859-1 and the charset of your
		# ldap server is utf-8, use this options (if not, ignore it)
		SourceCharset => 'utf-8',
		DestCharset => 'utf-8',
		# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
		Params => {
		port => 3268,
		timeout => 120,
		async => 0,
		version => 3,
		},
		},
		# customer uniq id
		CustomerKey => 'samaccountname',
		# customer #
		CustomerID => 'mail',
		#CustomerUserListFields => ['cn', 'mail'],
		CustomerUserListFields => ['cn','samaccountname','description','mail'],
		#CustomerUserSearchFields => ['uid', 'cn', 'mail'],
		CustomerUserSearchFields => ['name'],
		CustomerUserSearchPrefix => '',
		CustomerUserSearchSuffix => '*',
		CustomerUserSearchListLimit => 1000,
		CustomerUserPostMasterSearchFields => ['name','mail','samaccountname'],
		CustomerUserNameFields => ['givenname', 'surname'],
		# 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,
		Map => [
		# note: Login, Email and CustomerID needed!
		# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-[ .UserSalutation., .Title., .title., 1, 0, .var., ., 0 ],
		[ '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' ],
		]
		};
		$Self->{'LogSystemCacheSize'} = 64 * 1024;
Aus meiner Sicht ist alles in Ordnung, diese Konfiguration hat von OTRS 2.4.x bis OTRS 3.0.7 ohne Probleme funktioniert.

Kann mir jemand weiterhelfen?
CentOS 6.2
MySQL 5.1.61
OTRS 3.1.2
asnavum
Znuny newbie
Posts: 1
Joined: 26 Apr 2012, 07:28
Znuny Version: 3.1.4
Real Name: Alexander Schneider

Re: Unvollständige Kundendaten aus Active Directory (LDAP)

Post by asnavum »

Hi,

naja helfen kann ich nicht direkt.
Aber es ist ein ähnliches Verhalten was ich hier auch habe.

Bei vielen Benutzern geht das ändern des "Kunden" korrekt. Bei manchen allerdings nicht.

Mir ist hierbei eine Sache aufgefallen. Bei den Leuten wo es funktioniert schaut eine CN so aus:
cn: Nachname, Vorname

Bei denen wo es nicht geht:
cn: Nachname, Vorname (Fa. Extern)

Also mir kommt es so vor als würde es an der Klammer oder dergleichen liegen.
Geht es denn bei dir bei allen Usern nicht?
Locked