Agents via LDAP authentifizieren

Hilfe zu OTRS Problemen aller Art
Post Reply
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Agents via LDAP authentifizieren

Post by blacki »

Hi, wie kann ich denn Agents via LDAP authentifizieren ?

gibts da überhaupt ne unterscheidung zwischen Agents und Kunden ?
spas_
Znuny newbie
Posts: 13
Joined: 21 Dec 2005, 09:58

Post by spas_ »

Servus blacki,

die Agents und die Customer kann man beide durch ein LDAP-Verzeichnis authentifizieren. Mache einfach in der Config.pl folgende Einträge:

Für die Agents:
# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
# $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
# $Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
# $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
# $Self->{'AuthModule::LDAP::UID'} = 'uid';
und für die Customer:
# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
# $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
# $Self->{'Customer::AuthModule::LDAP::Host'} = 'ldap.example.com';
# $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
# $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
Ich hatte danach das Problem, daß zwar die Agents authentifiziert, jedoch keine Daten in der DB gefunden wurden.
Mit folgendem Eintrag wird jeder Agent, der sich neu anmeldet in der DB (system_user) autmaisch gespeichert:
# UserSyncLDAPMap
# (map if agent should create/synced from LDAP to DB after login)
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
Firstname => 'givenName',
Lastname => 'sn',
Email => 'mail',
};
Gruß
Siggi
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Post by blacki »

Hi spas_

hört sich schonmal ganz gut an, nur woher weiß das System ob der user der aus dem LDAP Verzeichniss kommt ein Agent ist oder nicht ?

Irgendwie schauen diese beiden Versionen von der Basis her gleich aus.
spas_
Znuny newbie
Posts: 13
Joined: 21 Dec 2005, 09:58

Post by spas_ »

Hi blacki,

diese Lösung habe ich mir aus dem Kapitel 9 des Admin-Handbuchs ([url=http://doc.otrs.org/2.0/de/html[/url]) und der Default.pm zusammengestrickt.

Lies Dir am besten Kapitel 9 über das Einbinden externer Backends durch, dort wird es erklärt.

Jup, stimmt beide sehen gleich bzw sehr ähnlich aus, nur die Pfade differieren: "'AuthModule::LDAP::Host'" und "'Customer::AuthModule::LDAP::Host'".

Wie gesagt hier funzt die Authentifizierung sowohl der Agents als auch der Kunden über zwei verschiedene LDAP-Verzeichnisse ohne jegliche Probleme.

Gruß und schöne Feiertage
Siggi
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Post by blacki »

Ich habs hinbekommen, war eigentlich recht einfach danke ;)

Eine sache hab ich noch.
Need CustomerUser->Params->Table in Kernel/Config.pm! at /opt/otrs/Kernel/System/CustomerUser/DB.pm line 36, <PRODUCT> line 4.
Was ist das ?

Meine Config:

Code: Select all

		$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
		$Self->{'Customer::AuthModule::LDAP::Host'} = 'ldap.myhost.de';
		$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=myhost,dc=de';
		$Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
		$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';
		$Self->{'Customer::AuthModule::LDAP::GroupDN'} = '';
		$Self->{'Customer::AuthModule::LDAP::Params'} = {
		    port => 389,
		    timeout => 120,
		    async => 0,
		    version => 3,
		 };


    # ---------------------------------------------------- 
    # customer Auth 			                   
    # ---------------------------------------------------- 
	$Self->{CustomerUser} = {
	    Name => 'LDAP Datenquelle',
	    Module => 'Kernel::System::CustomerUser::LDAP',
	    Params => {
				Host => 'ldap.myhost.de',
				BaseDN => 'dc=myhost,dc=de',
				SSCOPE => 'sub',
				UserDN => '',
				UserPw => '',
				AlwaysFilter => '',
				Params => {
						port => 389,
						timeout => 120,
						async => 0,
						version => 3,
					},
				},
				CustomerKey => 'uid',
				CustomerID => 'mail',
				CustomerUserListFields => ['cn', 'mail'],
				CustomerUserSearchFields => ['uid', 'cn', 'mail'],
				CustomerUserSearchPrefix => '',
				CustomerUserSearchSuffix => '*',
				CustomerUserSearchListLimit => 250,
				CustomerUserPostMasterSearchFields => ['mail'],
				CustomerUserNameFields => ['givenname', 'sn'],
				CustomerUserExcludePrimaryCustomerID => 0,
				AdminSetPreferences => 0,
				Map => [
					[ 'UserSalutation', '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 ],
					[ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
					[ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
					[ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
					[ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
					[ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
				],
			};
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Post by blacki »

Seit der Anbindung der Customer an LDAP kommen anscheinend keine Mails mehr in die Queues, da ich bei uns im RZ leider nicht wirklich sagen kann obs an diesen Einstellungen liegt oder an irgendwelchen Einstellungen die die Jungs im NWM gemacht haben steh ich da ein wenig auf dem Schlauch ;)

Laut exim log kommen die Mails wohl an und werden an den Localen benutzer OTRS ausgeliefert.

In der Mailqueue des Benutzers OTRS sind sie auch da aber nicht mehr im Ticketsystem.

In der Log Tauchen folgende Meldungen auf:
Tue Dec 27 14:04:17 2005 error OTRS-PM-10 Can't process email with MessageID <<43B13BCC.4050704@uni-wuppertal.de>>! Please create a bug report with this email (var/spool/) on http://bugs.otrs.org/!
Tue Dec 27 14:04:17 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 14:04:17 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 14:04:17 2005 error OTRS-PM-10 No StateID for 'new'!!!

Tue Dec 27 14:04:17 2005 notice OTRS-PM-10 Take UserCustomerID (willi@uni-wuppertal.de) from customer source backend based on (willi@uni-wuppertal.de).
Tue Dec 27 14:04:17 2005 notice OTRS-PM-10 Take UserLogin (willi) from customer source backend based on (willi@uni-wuppertal.de).
Tue Dec 27 14:03:22 2005 error OTRS-PM-10 Can't process email with MessageID <<43B13B76.8080400@uni-wuppertal.de>>! Please create a bug report with this email (var/spool/) on http://bugs.otrs.org/!
Tue Dec 27 14:03:22 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 14:03:22 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 14:03:22 2005 error OTRS-PM-10 No StateID for 'new'!!!

Tue Dec 27 14:03:22 2005 notice OTRS-PM-10 Take UserCustomerID (willi@uni-wuppertal.de) from customer source backend based on (willi@uni-wuppertal.de).
Tue Dec 27 14:03:22 2005 notice OTRS-PM-10 Take UserLogin (willi) from customer source backend based on (willi@uni-wuppertal.de).
Tue Dec 27 14:00:03 2005 notice OTRS-GenericAgent-10 Run GenericAgent Job 'mail' from db.
Tue Dec 27 13:50:02 2005 notice OTRS-GenericAgent-10 Run GenericAgent Job 'mail' from db.
Tue Dec 27 13:48:12 2005 notice OTRS-CGI-10 User: rossi authentication ok (REMOTE_ADDR: 84.60.167.207).
Tue Dec 27 13:48:00 2005 notice OTRS-CGI-10 Removed SessionID 102271ccd3290d85a9e5f6f25a513ea439.
Tue Dec 27 13:46:42 2005 notice OTRS-CGI-10 CustomerUser: 122863 authentification ok (REMOTE_ADDR: 84.60.167.207).
Tue Dec 27 13:40:02 2005 notice OTRS-GenericAgent-10 Run GenericAgent Job 'mail' from db.
Tue Dec 27 13:20:03 2005 notice OTRS-GenericAgent-10 Run GenericAgent Job 'mail' from db.
Tue Dec 27 13:16:11 2005 error OTRS-PM-10 Can't process email with MessageID <<43B1305F.8080007@uni-wuppertal.de>>! Please create a bug report with this email (var/spool/) on http://bugs.otrs.org/!
Tue Dec 27 13:16:11 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 13:16:11 2005 error OTRS-PM-10 Need TicketID!
Tue Dec 27 13:16:11 2005 error OTRS-PM-10 No StateID for 'new'!!!
Jemand ne idee für mich ?
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Post by blacki »

Hab grad was in google gefunden :oops:

Ich habe die Ticket Statis eingedeutscht und muß so was wie das folgende in die Config.pm eintragen

$Self->{PostmasterDefaultState} = 'neu';
# default phone new state
$Self->{PhoneDefaultNewNextState} = 'offen';
# PostmasterFollowUpState
# (The state if a ticket got a follow up.) [default: open]
$Self->{PostmasterFollowUpState} = 'offen';

Typische Schnellschussfrage :roll:
KaiNeuhaus
Znuny newbie
Posts: 12
Joined: 27 Dec 2005, 14:28
Location: Münster

Post by KaiNeuhaus »

Dazu evtl. mal eine Frage.
hat das jemand mal mit einem Exchange Server gemacht ?
Wir haben (leider noch) 5.5, da funktioniert das mit der Query glaube ich nicht so einfach.

Jemand Tipps ?

Danke & Gruß

Kai
darkside

Post by darkside »

Zu dem bisherigen gesammelten Wissen zu LDAP: Könntet ihr das bitte noch ins Wiki eintragen??

Das wäre sehr schön.

Andreas
blacki
Znuny newbie
Posts: 14
Joined: 20 Dec 2005, 10:54

Post by blacki »

Kommt Zeit kommt WIKI :)
Post Reply