Agenten Authentifizierung über LDAP

Hilfe zu Znuny Problemen aller Art
Locked
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Hallo zusammen ich habe folgende Fehlermeldung:

[Wed May 6 09:12:18 2009][Error][Kernel::System::Auth::LDAP::Auth][218] Search failed! 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece

Die Kunden können sich über costumer.pl anmelden, aber ich kann mich nicht bei index.pl als Agent anmelden.
Ich Teste OTRS 2.3.4 auf Virtual PC 2007 mit Windows XP in einer Testumgebung.

Hier wäre mein CODE:

# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# Start of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
#------------------------------------------------------------------------------#
#LDAP Authentifizierung für die Agenten (Supporter) ---------------------------#
#------------------------------------------------------------------------------#
$Self->{'AuthModule'}='Kernel::System::Auth::LDAP';
#LDAP-Host
$Self->{'AuthModule::LDAP::Host'}='192.168.10.1';
#Domäne
$Self->{'AuthModule::LDAP::BaseDN'}='DC=Testumgebung,DC=ad';
#Feld für die Benutzeranmeldung
$Self->{'AuthModule::LDAP::UID'}='sAMAccountName';
#Benutzer, damit das LDAP durchsucht werden kann
$Self->{'AuthModule::LDAP::SearchUserDN'}='kboog@testumgebung.ad';
$Self->{'AuthModule::LDAP::SearchUserPW'}='6020kevin';
#Zu filternde Gruppe (nur die Member dieser Gruppe haben Zugriff)
$Self->{'AuthModule::LDAP::GroupDN'}='CN=Administratoren,CN=Builtin,DC=Testumgebung,DC=ad';
$Self->{'AuthModule::LDAP::AccessAttr'}='member'; #memberuid
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(objectCategory=Person)';

# ---------------------------------------------------- #
# UserSyncLDAPMap #
# ---------------------------------------------------- #
# Synchronisiert / erstellt den LDAP-Benutzer mit der DB
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

#Standard Gruppe für neue Agents (Supporter)
#$Self->{UserSyncLDAPGroups}=[
# 'users',
#];

# -------------------------------------------------------- #
# LDAP Authentifizierung der Customer (Benutzer) --------- #
# -------------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
# IP-Adresse des Domänencontroller
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.10.1';
# Dömäne
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=Testumgebung,dc=ad';
# Objektfilter (Nur Objekte der Kategorie Personen)
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectCategory=Person)';
# Bentzerdaten, um das AD zu durchsuchen
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'kboog@testumgebung.ad';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = '6020kevin';
# Feld für die Bentuzeranmeldung
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
# Windows ist kein Posix-Betriebssystem, deshalb hier DN anstatt UID
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
# AD-Gruppe, welche sich bei OTRS anmelden darf
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=Domänen-Benutzer,DC=Testumgebung,DC=ad';
# Verbindungsparameter
$Self->{'Customer::AuthModule::LDAP::Params'} = {
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# -------------------------------------------------------- #
# Einstellungen für die User ----------------------------- #
# ---------------------------------------------------------#
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
# Name der Quelle
Name => 'Testumgebung.ad',
Params => {
# AD-Host
Host => '192.168.10.1',
# Domäne
BaseDN => 'DC=Testumgebung, DC=ad',
# search scope (one|sub) ?????????????
SSCOPE => 'sub',
# Bentzerdaten, um das AD zu durchsuchen
UserDN => 'kboog@Testumgebung.ad',
UserPw => '6020kevin',
# Objektfilter (Nur Objekte der Kategorie Personen)
AlwaysFilter => '(objectCategory=Person)',
# Datencodierung
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# Unique ID (hier der Anmeldenamen)
CustomerKey => 'sAMAccountName',
# Kundennummer (hier die E-Mail Adresse)
CustomerID => 'mail',
# In der Übersicht aufzulistende Felder
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
# Zu druchsuchende Felder (OTRS-Suche)
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
# Anzahl anzuzeigende Einträge
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# Zu erfassende Attribute
Map => [
# Achtung: Login, E-Mail und KundenId werden benötigt
# 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', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
# ---------------------------------------------------- #
# UserSyncLDAPMap #
# ---------------------------------------------------- #
# Synchronisiert / erstellt den LDAP-Benutzer mit der DB
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

Ich hoffe es kann mir jemand helfen.

Mit freundlichen Grüssen Boogie-Junior
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Kann mir hier keiner helfen? Ich suchte schon stundenlang im Google. Leider ohne Erfolg... :-(
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Ich sollte das Programm heute produktfähig machen, aber ohne diese Agenten anbindung kann ich nicht weiter arbeiten. Bitte helft mir...!
wäre euch sehr dankbar...!
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Agenten Authentifizierung über LDAP

Post by jojo »

Dann kauf kommerziellen Support....

Gerade die LDAP Anbindung ist schon so häufig durchgekaut worden...
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Vielen Dank für deine Antwort jojo.

Das sollte doch selbständig machbar sein. Ich werde es mal mit meinem Chef abklären, was seine Meinung dazu ist.

Falls jemand anders das Problem kennen sollte, bitte melden...!

Grüsse Boogie-Junior
Razack
Znuny newbie
Posts: 5
Joined: 07 May 2009, 21:17
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Razack »

hi,

probiers mal ohne

Code: Select all

$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(objectCategory=Person)';
Ich bin mir sicher das AD keine Objecte "Person" kennt, ich nehm mal an das es eher "user" ist.

des weiteren wirst du noch Problem haben mit sync LDAP > DB, da die Gruppezuordnung fehlt und der speicherort in der DB

Code: Select all

$Self->{UserSyncLDAPGroups}=[
 'users',
];

$Self->{DatabaseUserTable}='users';
$Self->{DatabaseUserTableUserID}='id';
$Self->{DatabaseUserTableUserPW}='pw';
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Vielen Dank für die Antwort, werde es am Montag, wenn ich dazu komme ausprobieren.

Werde mich wieder melden.
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Hi Razack, ich habe deine Möglichkeit ausprobiert aber leider immer noch derselbe Fehlercode. :-(

ObjectCateroy=Person an dem kann es ja nicht liegen, ansonsten würde Customer.pl nicht gehen...!

Code: Select all

$Self->{DatabaseUserTableUserID}='id';
$Self->{DatabaseUserTableUserPW}='pw';
Muss ich bei id und pw etwas spezielles eingeben?

Freundliche Grüsse

Boogie-Junior
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Agenten Authentifizierung über LDAP

Post by ferrosti »

Laut der Fehlermeldung haut der bind schon nicht hin. Das hat mit der DB Verbindung noch gar nichts zu tun. Der Search User kann sich nicht am AD authentifizieren und kann damit auch nicht nach dem Agenten im AD suchen.
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Der Serach User brauchen wir auch für die Customer und für die Agenten, die Customer können sich anmelden ob wir den Search User in der Config datei aktiv haben oder als kommentar gesetzt haben.

Sobald ich den Code für die Agenten Auth in der Config Datei einfüge, kann sich der root@localhost Benutzer nicht mehr anmelden.
Ich hoffe das hilft weiter....!

Danke allen für die tollen Antworten, ich hoffe wir bringen das noch hin.

Grüsse von Boogie-Junior
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Dies ist momentan unser aktueller Code (Customer funktioniert, Agent und root@localhost funktioniert nicht)

Code: Select all

# -------------------------------------------------------- #
# LDAP Authentifizierung der Customer (Benutzer) --------- #
# -------------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
# IP-Adresse des Domänencontroller
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.10.1';
# Dömäne
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=Testumgebung,dc=ad';
# Objektfilter (Nur Objekte der Kategorie Personen)
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectCategory=Person)';
# Bentzerdaten, um das AD zu durchsuchen
#$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'kboog@testumgebung.ad';
#$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = '6020kevin';
# Feld für die Bentuzeranmeldung
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
# Windows ist kein Posix-Betriebssystem, deshalb hier DN anstatt UID
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
# AD-Gruppe, welche sich bei OTRS anmelden darf
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=Domänen-Benutzer,DC=Testumgebung,DC=ad';
# Verbindungsparameter
$Self->{'Customer::AuthModule::LDAP::Params'} = {
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
};
# -------------------------------------------------------- #
# Einstellungen für die User ----------------------------- #
# ---------------------------------------------------------#
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
# Name der Quelle
Name => 'Testumgebung.ad',
Params => {
# AD-Host
Host => '192.168.10.1',
# Domäne
BaseDN => 'DC=Testumgebung, DC=ad',
# search scope (one|sub) ?????????????
SSCOPE => 'sub',
# Bentzerdaten, um das AD zu durchsuchen
UserDN => 'kboog@Testumgebung.ad',
UserPw => '6020kevin',
# Objektfilter (Nur Objekte der Kategorie Personen)
AlwaysFilter => '(objectCategory=Person)',
# Datencodierung
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
},
# Unique ID (hier der Anmeldenamen)
CustomerKey => 'sAMAccountName',
# Kundennummer (hier die E-Mail Adresse)
CustomerID => 'mail',
# In der Übersicht aufzulistende Felder
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
# Zu druchsuchende Felder (OTRS-Suche)
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
# Anzahl anzuzeigende Einträge
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# Zu erfassende Attribute
Map => [
# Achtung: Login, E-Mail und KundenId werden benötigt
# 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', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
# ---------------------------------------------------- #
# UserSyncLDAPMap #
# ---------------------------------------------------- #
# Synchronisiert / erstellt den LDAP-Benutzer mit der DB
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

#------------------------------------------------------------------------------#
#LDAP Authentifizierung für die Agenten (Supporter) ---------------------------#
#------------------------------------------------------------------------------#
	$Self->{'AuthModule'} ='Kernel::System::Auth::LDAP';
	#LDAP-Host
	$Self->{'AuthModule::LDAP::Host'} = '192.168.10.1';
	#Domäne
	$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=Testumgebung,DC=ad';
	#Feld für die Benutzeranmeldung
	$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
	#Benutzer, damit das LDAP durchsucht werden kann
	#$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=Kevin Boog,OU=Informatik,OU=01 Finanzdirektion,OU=Benutzer,DC=Testumgebung,DC=ad';
	#$Self->{'AuthModule::LDAP::SearchUserPW'} = '6020kevin';
	#Zu filternde Gruppe (nur die Member dieser Gruppe haben Zugriff)
	$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=Administratoren,CN=Builtin,DC=Testumgebung,DC=ad';
	$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
	$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
	$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(objectCategory=Person)';

        #Standard Gruppe für neue Agents (Supporter)
	$Self->{UserSyncLDAPGroups}= ['users',];

	#$Self->{DatabaseUserTable}='users';
	#$Self->{DatabaseUserTableUserID}='id';
	#$Self->{DatabaseUserTableUserPW}='pw';

	$Self->{UserSyncLDAPMap};
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

Gibt es einen Debugger für die config.pm datei? Damit man sehen kann, bei welcher Zeile der Fehler zu suchen ist?

Welches Programm kann .pm Dateien öffnen?

Mit freundlichen Grüssen

Boogie-Junior!

PS: Kann es sein das die Agentenanbindung nicht geht, wegen der ACL? Wenn ja wo kann ich diese deaktivieren?
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Agenten Authentifizierung über LDAP

Post by maxbacks »

du bekommt .pm Dateien mit jedem beliebigen Texteditor auf. es ist reiner Text...
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Boogie-Junior
Znuny newbie
Posts: 11
Joined: 06 May 2009, 09:24
Znuny Version: 2.3.4

Agenten Authentifizierung über LDAP

Post by Boogie-Junior »

maxbacks wrote:du bekommt .pm Dateien mit jedem beliebigen Texteditor auf. es ist reiner Text...
Das ist mir klar öffne die pm. Dateien immer mit dem Notepad von Windows. Habe meine Frage nicht ausdrücklich gestellt. tschuldige.
Weleches Programm speichert solche pm Dateiendungen? Wo muss man bei dieser Fehlermeldung suchen?

Code: Select all

[Error][Kernel::System::Auth::LDAP::Auth][218] Search failed! 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece
Freundliche Grüsse
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Agenten Authentifizierung über LDAP

Post by maxbacks »

wie meinst du das speichert als dateinamen ".pm"? Wenn ich in meinem Notepad auf speichern unter klicke unt "test.pm" als dateinamen eingebe, speichert er die datei mit ".pm"...

Fragst du nach einer perl entwicklungsumgebung?
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Diesel
Znuny newbie
Posts: 21
Joined: 01 Dec 2008, 16:59

Agenten Authentifizierung über LDAP

Post by Diesel »

maxbacks wrote:Fragst du nach einer perl entwicklungsumgebung?
Ich glaube er fragt tatsächlich nach der Entwicklungsumgebung.

@Boogie: Wenne die Umgebung wegen des Debuggers haben möchtest, gibts glaub ich die Dateien checken zu lassen über Kommandozeile
Life is a drive...
If U didn't catch the curve, the game is over...
Locked