LDAP - Verbindung | Agent Anmeldung

Hilfe zu Znuny Problemen aller Art
Locked
Pyromanic
Znuny newbie
Posts: 6
Joined: 23 Mar 2011, 10:26
Znuny Version: 3.0

LDAP - Verbindung | Agent Anmeldung

Post by Pyromanic »

Hallo zusammen,

das Thema "OTRS" ist für mich neu und habe da einige Probleme.

Ich erläutere euch einfach mein Problem, wenn etwas nicht klar ist, bitte nachfragen.

Die Agenten-Anmeldung soll über LDAP laufen, doch leider funktioniert das nicht wie gewünscht.

Folgende Fehlermeldung wird ausgegeben:
[Wed Mar 23 13:27:06 2011][Notice][Kernel::System::Auth::LDAP::Auth] User: otrs@xxx.local authentication failed, no LDAP entry found!BaseDN='dc=xxx,dc=local', Filter='(sAMAccountName=otrs@triacon.local)', (REMOTE_ADDR: fe80::906:cd2f:b496:e9e2%16).
[Wed Mar 23 13:27:06 2011][Notice][Kernel::System::Auth::DB::Auth] User: otrs doesn't exist or is invalid!!! (REMOTE_ADDR: fe80::906:cd2f:b496:e9e2%16)
[Wed Mar 23 13:27:06 2011][Error][Kernel::System::User::UserLookup][746] No UserID found for 'otrs'!
Die Config.pm sieht folgendermaßen aus:

Code: Select all

# Agenten Authentifizierung DB
# Backend DB fuer Agenten
   $Self->{'AuthModule10'} = 'Kernel::System::Auth::DB'; # <--- Damit ich wenigstens mit den DB-User reinkomme 
   $Self->{'AuthModule::DB::CryptType10'} = 'crypt';

   $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
   $Self->{'AuthModule::LDAP::Host'} = 'IP vom DC';
   $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=Firmenname,dc=local';
   $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
   $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=otrs_grp,OU=OTRS,DC=Firmenname,DC=local';
   $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
   $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
   $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=OTRS,DC=Firmenname,DC=local'; 
   $Self->{'AuthModule::LDAP::SearchUserPw'} = 'PW';
   $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';

   $Self->{'UserSyncLDAPMap'} =  {
      'UserEmail' => 'mail',
      'UserFirstname' => 'givenname',
      'UserLastname' => 'sn',
      'UserLogin' => 'sAMAccountName'
   };
Bitte nochmal fürs Verständnis. Muss aus der default.pm irgendwas auskommentiert werden?
Müssen die Agenten(User) erst im OTRS eingetragen werden? Wenn ja, wo,wie?

Weitere Angaben:
OTRS Version = 3.0
DB = msSQL
BS = Server 2008 R2
Webserver = IIS

Gruß
Michael

PS: Bevor jetzt einige sowas schreiben wie, schaut doch im Forum nach usw. Ich habe das Forum und "Tante Google" 1000x durchsucht und ich krieg das einfach nicht hin. Ich hoffe Ihr könnt mir weiter helfen.
Last edited by Pyromanic on 24 Mar 2011, 10:33, edited 1 time in total.
Martis
Znuny newbie
Posts: 18
Joined: 07 Jan 2011, 13:39
Znuny Version: 30900

Re: LDAP - Verbindung | Agent Anmeldung

Post by Martis »

Hi,

ja die Agenten müssen in der Datenbank eingetragen werden.
Nur die Passwortüberprüfung läuft über das LDAP.
Du versuchst zwar das mit dem Syncen. Das kann man machen, allerdings würd ich das nicht machen.
Bei Agenten find ich es sinnvoller diese per Hand einzutragen und nur den Login LDAP gestützt zu machen.

Desweiteren sieht es so aus als,versuchst du dich als otrs@triacon.local anzumelden. Ich vermute aber mal, dass dieser Benutzer bei Windows Server nicht existiert.
Desweiteren findet OTRS den Benutzer auch nicht in der Benutzerdatenbank.

Insofern musst du, bevor du auf LDAP umstellst, einen Agenten mit deinem Benutzernamen in deiner Windows Domäne anlegen und ihn mit Admin Rechten versehen,
damit du nachdem du auf LDAP geschaltet hast, dich dann mit diesem Account einloggen kannst.

Weiterhin eine Frage: Du hast Windows Server 2008?

Windows Server 2008 erlaubt das Durchsuchen des LDAP Katalogs nicht für Anonyme Benutzer.
D.h. du musst in der Konfigurationsdatei config.pm einen Benutzernamen eintragen, mit dem sich LDAP am Server anmelden kann.
Erst dann kann OTRS per LDAP auf dem Server2008 nach dem geforderten Benutzer suchen.
Das hast du ja wohl auch schon mit dem SearchUser getan, allerdings glaube ich, dass dort ein Fehler ist.

Im übrigen solltest du auf Port 3268 verbinden, falls deine Domäne in Unterbäume geglieder ist.
Denn nur auf Port 3268 sucht er die ganze Domäne nach dem Benutzer ab.
Denn nur auf Port 3268 ist der globale Katalog verfügbar.
PLease delete this account :-) Thx
Pyromanic
Znuny newbie
Posts: 6
Joined: 23 Mar 2011, 10:26
Znuny Version: 3.0

Re: LDAP - Verbindung | Agent Anmeldung

Post by Pyromanic »

Hallo,

Martis ich danke dir erstmal für deine Antwort.
[Thu Mar 24 09:15:02 2011][Notice][Kernel::System::Auth::LDAP::Auth] User: otrs@xxx.local authentication failed, no LDAP entry found!BaseDN='dc=triacon,dc=local', Filter='(sAMAccountName=otrs@xxx.local)', (REMOTE_ADDR: fe80::906:cd2f:b496:e9e2%16).
[Thu Mar 24 09:15:02 2011][Notice][Kernel::System::Auth::DB::Auth] User: otrs authentication with wrong Pw!!! (REMOTE_ADDR: fe80::906:cd2f:b496:e9e2%16)
Wie bei der Fehlermeldung zu erkennen ist, gibt es den otrs Benutzer in der Datenbank und ich kann mich immer noch nicht über LDAP verbinden.

Den Benutzer OTRS gibt es in der AD!
Als SearchUser ist der Domänen Admin Account mit dem DN angegeben.
Den Synch habe ich weggelassen.
Port auf 3268 umgestellt. (ja, benutzt wird Server 2008 R2)

Was mache ich falsch? Bin euch für jeden Tipp dankbar.

Gruß
Michael
ddDagobert
Znuny wizard
Posts: 350
Joined: 13 May 2009, 14:24
Znuny Version: 5.0.10

Re: LDAP - Verbindung | Agent Anmeldung

Post by ddDagobert »

Hallo,

also erstens ist es nicht notwendig, die AGenten in der OTRS-DB manuell anzulegen. Wenn du alle Agtenen im AD hast, musst du dir nur überlegen, ob du Ihnen Zugang zu OTRS geben willst, auch wenn das AD nicht verfügbar ist - dann musst du die Daten in die DB syncen.

Dein primärer Fehler liegt vermutlich in der Zeile
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=OTRS,DC=Firmenname,DC=local';
Hier musst du den Sameaccountname angeben, der berechtigt ist, das AD zu durchsuchen (versuch es mal zunächst mit deinem eigenen) Wir haben hierfüg einen eigenen OTRS-Account.

Und weil du es erwähnt hast: Never change the default.pm!!

Hier mal meine Config-Datei, funkt einwandfrei:

Code: Select all

#Authentifizierung der Agenten: 
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = '10.2.xxx.xxx';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'ou=xx,dc=xx,dc=xx,dc=xx';
    $Self->{'AuthModule::LDAP::UID'} = 'samaccountname';
    $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=Grupppexy,ou=xx,...';
    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'OTRSAccount';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'PW_fuer_OTRSAccount';
    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
    $Self->{'AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
    };

    # Die if backend can't work, e. g. can't connect to server.
    $Self->{'AuthModule::LDAP::Die'} = 1;

#Syncronisation der Agenten in die lokal OTRS-DB
# agent data sync against ldap
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = '10.2.xxx.xxx';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'ou=xx,dc=xx,dc=xx,dc=xx';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'samaccountname';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'OTRSAccount';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'PWOTRSACcount';
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        # DB -> LDAP
#        UserLogin => 'samaccountname',
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
        UserPhone => 'telephonenumber',
    };
Produktiv: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Test: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Entwicklung: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Pyromanic
Znuny newbie
Posts: 6
Joined: 23 Mar 2011, 10:26
Znuny Version: 3.0

Re: LDAP - Verbindung | Agent Anmeldung

Post by Pyromanic »

Hallo,

also die Anmeldung über LDAP funktioniert, aber erst dann wenn der Benutzer in der DB eingetragen ist.
Wenn es keinen Eintrag gibt, bekomme ich folgende Fehlermeldung:
Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.
Ist das normal das man zuerst den User in der DB eintrage muss? Geht das auch ohne?

Wenn, nicht. Dann halt die LDAP funktionier für die Agenten nicht viel Sinn ... nur doppelte Arbeit.

Gruß
Michael
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: LDAP - Verbindung | Agent Anmeldung

Post by jojo »

Dafür gibt es die Sync Funktionalität, diese legt den User automatisch an
"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
Pyromanic
Znuny newbie
Posts: 6
Joined: 23 Mar 2011, 10:26
Znuny Version: 3.0

Re: LDAP - Verbindung | Agent Anmeldung

Post by Pyromanic »

Einwandfrei ... Danke für eure Hilfe :)

Gruß
Michael
Locked