LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Howto's zu OTRS Themen. Keine neuen Topics mit Fragen in diesem Forum!
staybb
OTRS expert
Posts: 51
Joined: 01 Jul 2011, 09:39
OTRS Version?: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby staybb » 24 Oct 2012, 15:28

#EDIT:
Es funktioniert nun!

Das Problem war bei dem Eintrag

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'}



Der Syntax benötigt das @domainname.de dann geht es.

Code: Select all

$Self->{'AuthModule::LDAP::SearchUserDN'}  = 'ldap_user@domainname.de';


Hallo,

ich möchte unser OTRS 3.1.11 an unser ActiveDirectory anbinden, damit sich die Agenten und Customer via LDAP anmelden können.

Die Anmeldung für die Customer habe ich zum laufen bekommen. Über das Framework und die Config.pm .

Nur bei der Agenten habe ich das Problem das ich folgende Meldung in den Logs erhalte, wenn ich mich versuche über ldap anzumelden:

Code: Select all

User: otrs_admin authentication failed, no LDAP entry found!BaseDN='dc=domain,dc=domain', Filter='(sAMAccountName=otrs_admin)', (REMOTE_ADDR: IP).


So sieht meine Config.pm momentan aus:

Code: Select all

    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #           End of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #

   $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
   $Self->{'AuthModule::LDAP::Host'} = 'ldapserver';
   $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=domain';
   $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
# $Self->{'Customer::AuthModule::LDAP::GroupDN'} = '';
   $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
   $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'domain\user';
   $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';
   $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
       $Self->{'Customer::AuthModule::LDAP::Params'} = {
          port => 389,
          timeout => 120,
          async => 0,
          version => 3,
       };

   # Enable LDAP Authentication Sync for Agent #
   $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
   $Self->{'AuthSyncModule::LDAP::Host'} = 'ldap://ldapserver/';
   $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain,dc=domain';
   $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
   $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
   $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'domain\guenthart';
   $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';

   # Enable Agent Mapping from LDAP to DB #
   $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
   UserFirstname => 'givenName',
   UserLastname => 'sn',
   UserEmail => 'mail',
   };   

   # AuthSyncModule::LDAP::UserSyncInitialGroups
   # (sync following group with rw permission after initial create of first agent
   # login)
   $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
    'users',
   ];

# CustomerUser
    # (customer ldap backend and settings)
    $Self->{CustomerUser} = {
        Name => 'LDAP Datenquelle',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
        Host => 'ldapserver',
            # ldap base dn
        BaseDN => '1',
            # 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 => 'domain\user',
        UserPw => 'password',
            # in case you want to add always one filter to each ldap query, use
            # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
        AlwaysFilter => '',
            # if both your frontend and your LDAP are unicode, use this:
            SourceCharset => 'utf-8',
            DestCharset   => 'utf-8',
            # if your frontend is unicode and the charset of your
            # ldap server is iso-8859-1, use these options.
            # SourceCharset => 'iso-8859-1',
            # DestCharset => 'utf-8',
            # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
            Params => {
                port => 389,
                timeout => 120,
                async => 0,
                version => 3,
            },
    },
            # customer unique id
        CustomerKey => 'sAMAccountName',
            # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
            # show not own tickets in customer panel, CompanyTickets
        CustomerUserExcludePrimaryCustomerID => 0,
            # add an ldap filter for valid users (expert setting)
        #    CustomerUserValidFilter => '(!(description=locked))',
            # administrator can't change customer preferences
        AdminSetPreferences => 0,
        #    # cache time to live in sec. - cache any database queries
        #    CacheTTL => 0,
            Map => [
            # note: Login, Email and CustomerID are mandatory!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Login',   'sAMAccountName',     1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
        ],
    };
}


An was könnte es liegen? Ich habe schon etliche Einstellungen versucht...
Last edited by staybb on 14 Nov 2012, 11:38, edited 1 time in total.

Maniax
OTRS newbie
Posts: 3
Joined: 24 Oct 2012, 18:09
OTRS Version?: 3.1.11

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Maniax » 25 Oct 2012, 12:02

Hallo,

erstmal vielen Dank für die sehr ausführliche Anleitung! Optimal beschrieben.

Der Einfachheit habe ich mal copy&paste verwendet und die nötigen Einträge angepasst. Allerdings muss ich noch irgend etwas falschen, denn ich kann KEINEN Datenbanktyp auswählen:

Image

Weiß jemand zufälligerweise woran das liegen könnte?

Viele Grüße
Maniax

Maniax
OTRS newbie
Posts: 3
Joined: 24 Oct 2012, 18:09
OTRS Version?: 3.1.11

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Maniax » 25 Oct 2012, 12:33

Hallo,

erstmal vielen Dank für die sehr ausführlich beschriebene Anleitung! Hat mir soweit geholfen, die Thematik zu verstehen. Ich hab der Einfachheit mal Copy&Paste verwendet und die entsprechenden Einträge angepasst. Allerdings muss ich noch irgend etwas falsch machen, denn ich kann keine Kunden-Datenbank auswählen:

Image

Hat zufälliger Weise jemand eine Idee, was ich falsch mache?

Vielen Dank!

Viele Grüße
Maniax

catweazle
OTRS wizard
Posts: 121
Joined: 15 Feb 2012, 12:22
OTRS Version?: 3.1

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby catweazle » 26 Oct 2012, 10:32

boris wrote:Ja genau. Das Beispielscript autehtifiziert die Kunden über LDAP und dann müssen die nicht in der lokalen DB sein


Ich bekomme meine Kunden einfach nicht in die DB gesynct.

Vielleicht ist das Problem, dass ich nur den Code für die Kunden in die Config.pm übernommen habe.

Kann mir jemand alle nötigen Zeilen an Code vorlegen, den ich brauche, wenn ich nur Kunden über LDAP Syncen -> Mapen will.

Wie bereits erwähnt, Anmelden funktioniert, dann aber:

"Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."

eben weil ich keine Daten in mein Backend bekomme...
1: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
2: Test: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
3: Test-2: OTRS 3.3.x + Support + MasterSlave @ CentOS 6.5 , MySQL (iphone, idoit-trash)

Maniax
OTRS newbie
Posts: 3
Joined: 24 Oct 2012, 18:09
OTRS Version?: 3.1.11

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Maniax » 05 Nov 2012, 11:15

Hallo zusammen,

erst mal vielen Dank für die tolle Anleitung - hat mir sehr geholfen. Allerdings stoße ich momentan auf folgendes Problem:

Die LDAP-Anbindung hat funktioniert, die User sind nun im Kundenbereich gelistet. Wenn ich mich nun mit einem Kunden an OTRS anmelden möchte, erhalte ich immer die Meldung:

Code: Select all

Anmeldung fehlgeschlagen! Benutzername oder Passwort falsch.


So sieht unserer aktuelle Config bzgl. Authentifizierung aus:

Code: Select all

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'server.firma.local';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=Container2,ou=Container1,dc=firma,dc=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=accountname,CN=users,DC=firma,DC=local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'passwort';


Was mache ich noch falsch?

Viele Grüße
Maniax

Troubadix13
OTRS newbie
Posts: 1
Joined: 07 Nov 2012, 21:29
OTRS Version?: 3.1.11

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Troubadix13 » 08 Nov 2012, 12:43

Hi Boris,

ich versuche mich gerade an Deiner tollen Anleitung. Ich habe in Deinem erklärenden Text in der Beispiel-Datei möglicherweise einen Fehler gefunden:

Code: Select all

# der Search User muss Mitglied in "Domänen-Benutzer" und in "Windows-Authentifizierungszugriffgruppe" sein


Ich habe die Gruppe "Windows-Authentifizierungszugriffsgruppe" nicht (Win2003SP2). Könnte es sein, das die "Windows-Autorisierungszugriffsgruppe" gemeint ist.

Grüße

Troubadix13

AlexanderB
OTRS newbie
Posts: 2
Joined: 19 Nov 2012, 14:44
OTRS Version?: 3.0.17

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby AlexanderB » 19 Nov 2012, 17:49

Hallo Zusammen,

zunächst vielen Dank für die ausführlichen Informationen. Nach ca. 3h Tests bin ich leider nicht weiter gekommen. Ich habe wirklich alle Varianten probiert, bekomme aber immer folgenden Fehler:

[Mon Nov 19 16:39:02 2012][Error][Kernel::System::CustomerAuth::LDAP::Auth][221] 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

Hier meine config.pm:

Code: Select all

# --
# Kernel/Config.pm - Config file for OTRS kernel
# Copyright (C) 2001-2010 OTRS AG, http://otrs.org/
# --
# $Id: Config.pm.dist,v 1.23 2010/01/13 22:25:00 martin Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
#  Note:
#
#  -->> OTRS does have a lot of config settings. For more settings
#       (Notifications, Ticket::ViewAccelerator, Ticket::NumberGenerator,
#       LDAP, PostMaster, Session, Preferences, ...) see
#       Kernel/Config/Defaults.pm and copy your wanted lines into "this"
#       config file. This file will not be changed on update!
#
# --

package Kernel::Config;

sub Load {
    my $Self = shift;
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #         Start of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #

    # ---------------------------------------------------- #
    # database settings                                    #
    # ---------------------------------------------------- #
    # DatabaseHost
    # (The database host.)
    $Self->{'DatabaseHost'} = 'localhost';
    # Database
    # (The database name.)
    $Self->{'Database'} = 'otrs';
    # DatabaseUser
    # (The database user.)
    $Self->{'DatabaseUser'} = 'otrs';
    # DatabasePw
    # (The password of database user. You also can use bin/otrs.CryptPassword.pl
    # for crypted passwords.)
    $Self->{'DatabasePw'} = 'xxxxxxx';
    # DatabaseDSN
    # (The database DSN for MySQL ==> more: "man DBD::mysql")
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";

    # (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
    # if you want to use a local socket connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
    # if you want to use a tcpip connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

    # ---------------------------------------------------- #
    # fs root directory
    # ---------------------------------------------------- #
    $Self->{Home} = 'C:/PROGRA~2/OTRS/OTRS';

    # ---------------------------------------------------- #
    # insert your own config settings "here"               #
    # config settings taken from Kernel/Config/Defaults.pm #
    # ---------------------------------------------------- #
    # $Self->{SessionUseCookie} = 0;
    # $Self->{CheckMXRecord} = 0;

    # ---------------------------------------------------- #


#--------------------------------------------------------------------------------------------
#                                            LDAP                                   #
#--------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------
#                                   Agenten Authentifizeirung                               #
#--------------------------------------------------------------------------------------------
# Agenten werden in der DB gepflegt.
#--------------------------------------------------------------------------------------------
#                                  Kunden Authentifizeirung                                 #
#--------------------------------------------------------------------------------------------
  $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
  $Self->{'Customer::AuthModule::LDAP::Host'} = 'bfg-d03.domain.local';
  $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=Benutzer,DC=domain,DC=local';
  $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
  $Self->{'AuthModule::LDAP::SearchUserDN'} =  'CN=TEST\, Alexander,OU=Benutzer,DC=domain,DC=local';
  $Self->{'AuthModule::LDAP::SearchUserPw'} =  'xxxxx';
  $Self->{'Customer::AuthModule::LDAP::Params'} = {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
  };
# $Self->{'AuthModule::LDAP::Die'} = 1;
# User Mapping
#  $Self->{'AuthSyncModule::LDAP::UserSyncMap'}={
#   Username => 'givenName',
#   UserLastname => 'sn',
#   UserEmail => 'mail',
#  };

 #--------------------------------------------------------------------------------------------
 #                                      Ende                                         #
 #--------------------------------------------------------------------------------------------
 




    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    #           End of your own config options!!!          #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #


    # ---------------------------------------------------- #
    # data inserted by installer                           #
    # ---------------------------------------------------- #

    $Self->{LogModule}          = 'Kernel::System::Log::File';
    $Self->{LogModule::LogFile} = 'C:/PROGRA~2/OTRS/OTRS/var/log/otrs.log';
    # $DIBI$
    $Self->{'DefaultCharset'} = 'utf-8';

}

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #
use strict;
use warnings;

use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.23 $)[1];

use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');

# -----------------------------------------------------#

1;



Randbedingungen:

* Virtueller 2008R2 Server
* Anmelden über DB funktioniert
* Wird der LDAP Servername verändert, kommt ein Fehler (LDAP wird also verwendet)
* Mit den selben Parametern kann ich mit dem Softerra LDAP Browser 4.5 das LDAP abfragen

Vielleicht kann mir jemand auf die Sprünge helfen.

VIELEN DANK

Grüße

AlexanderB

User avatar
boris
OTRS ninja
Posts: 554
Joined: 22 Feb 2010, 18:27
OTRS Version?: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby boris » 22 Nov 2012, 08:14

Ahhh....ja die ist gemeint:-)
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

MCMMCM
OTRS newbie
Posts: 1
Joined: 26 Nov 2012, 18:00
OTRS Version?: 3.1.8
Real Name: Mario Kammler
Company: Konvekta AG

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby MCMMCM » 27 Nov 2012, 15:07

Ein freundliches Hallo an alle,

zuerst mal meinen satten Dank an dich Boris, ohne Dich währe das ganze wohl nicht zu schaffen gewesen......VIELEN DANK

Für die Authentifizierung gegen ein Active Directory habe ich mich trotzdem gequält, die richten Werte an die Richtige Stelle zu packen und dann das ganze zu Testen....was eine Qual. Doch so langsam ist es hell am Ende des Tunnels und es ist nich, so hoffe ich, der 17:15 Zug der mir entgegen kommt :-)

Ich habe also mal damit angefangen, eine Authentifizierung gegen unser AD zu implementieren. Am Anfang erschlagen einen die ganzen Informationen doch nach und nach kommt ein wenig Wissen dazu und es Klappt schon deutlich besser.

Durch das ganze "Querlesen" und aufschnappen von Informtionen hatte ich einige Fragen die, so glaube ich, ich nun selber beantworten kann.

Für die Authentifizierung gegen ein AD MUSS der Benutzer als Agent im OTRS eingepfleg sein (stimmt !??)
Für die Authentifizierung gegen ein AD benötigt mann NUR den folgenden passus (txt Datei) in der Config.pm, SONST NIX (stimmt !??)
Noch die ein oder andere Anmerkung: Um die geänderten Werte aus der Config.pm SOFORT zu prüfen speicher ich die Datei und re-starte
den OTRS Anwendunspool auf dem OTRS Server (Windows + IIS 7 + MS SQL + OTRS 3.1.8)

Wer mich da korrigieren kann der SOLL das bitte machen :-)....es würde mich freuen.

Als nächstes versuche ich mich am Import unserer Kunden aus dem AD....

Viele Grüße aus Hessen

Mario
Konfiguration OTRS LDAP.txt
You do not have the required permissions to view the files attached to this post.

AlexanderB
OTRS newbie
Posts: 2
Joined: 19 Nov 2012, 14:44
OTRS Version?: 3.0.17

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby AlexanderB » 27 Nov 2012, 15:50

Danke, hat sich zwischenzeitlich erledigt ;)

Grüße
AlexanderB

Yazu
OTRS newbie
Posts: 3
Joined: 19 Dec 2012, 16:32
OTRS Version?: 3.1.12

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Yazu » 20 Dec 2012, 15:36

Hi Leute,

bin gerade dabei OTRS ans AD anzubinden und habe hier ein Problem was ich mir nicht erklären kann.

Ich mache folgendes:
- Erstelle einen neuen Agent mit dem Super User Account.
- Anschließend logge ich mich mit dem neuen Agent ein.

Soweit alles normal. Nur wenn ich mich auslogge und unmittelbar wieder einlogge wird mir der Zugang verweigert,
da ich einen falschen Benutzername / Passwort eingegeben habe ...

Im Logfile erscheinen folgende Einträge:

Code: Select all

[Thu Dec 20 13:36:26 2012][Notice][Kernel::System::Auth::DB::Auth] User: otrsagent authentication ok (REMOTE_ADDR: 128.1.1.248).
[Thu Dec 20 13:36:26 2012][Notice][Kernel::System::User::UserUpdate] User: 'otrsagent' updated successfully (1)!
[Thu Dec 20 13:36:26 2012][Notice][Kernel::System::User::SetPassword] User: 'otrsagent' changed password successfully!


Dieser Vorgang wiederholt sich jedes Mal ... ich kann mich ausschließlich mit root@localhost anmelden und das Passwort neu vergeben,
was dann wieder nur für den 1. Login gültig ist ...

Hat jemand von euch eine Idee wie es sein kann, das automatisch ein neues Passwort vergeben wird :shock:

badwurzach
OTRS newbie
Posts: 40
Joined: 07 Jan 2013, 21:02
OTRS Version?: 4.0.8

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby badwurzach » 08 Jan 2013, 21:25

N'Abend zusammen,
vielen Dank für die Anleitung boris. Hat auf Anhieb funktioniert. 8)
Aktuell: OTRS 4.0.8, Linux Appliance, PostgreSQL
Neu: OTRS 4.0.8, Ubuntu 14.04 LTS, MariaDB

arktik
OTRS expert
Posts: 54
Joined: 29 Jul 2010, 11:24
OTRS Version?: 3.3.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby arktik » 17 Jan 2013, 18:46

Die User musst du über dein AD anlegen. Die Agent Steuerung ist im AD deaktiviert, außer wenn du als zweite Datenquelle die Datenbank angegeben hast.

OTRS an einen LDAP oder an ein AD anbinden ist sehr einfach und dauert vielleicht 1 Stunde wenn man alle Gruppen anlegt im LDAP und auch die ganzen User noch anlegen muss. Wie sieht denn deine AD konfiguration aus? Denn du kannst dich ja scheinbar noch mit root@localhost anmelden. Wobei ich dir empfehle diesen zu deaktivieren und einen Seperaten User im AD anzulegen der einer OTRS Admini Gruppe zugeordnet ist und diese beim login Syncronisiert wird im OTRS.
OTRS 3.3.4 Produktiv
OTRS 3.3.4 Dev und Test

averlon
OTRS newbie
Posts: 6
Joined: 01 Mar 2013, 17:06
OTRS Version?: 3.2.2
Real Name: Karl-Heinz Fischbach

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby averlon » 04 Mar 2013, 10:26

Hallo *,
ich gebe zu, ich bin neu bei otrs und erst recht neu bei diesem artikel.

Mir fehlen hier einige grundsätzliche dinge. So z.B.:

- in welcher datei soll editiert werden? Es scheint die Kernel/Config.pm zu sein. Da stehen die Inhalte aber nicht drin. Scheinbar müssen die aus Kernel/Config/Default.pm kopiert werden - aber wohin?
- in Default.pm stehen die Inhalte unter "sub LoadDefault". Ich vermute mal in der Config.pm müssen sie unter "sub load".

Das ist jetzt eher geraten oder vermutet. Bisher bin ich in den beschreibungen nirgends fündig geworden.

Gruß
Kalle
Gruß
Kalle

User avatar
boris
OTRS ninja
Posts: 554
Joined: 22 Feb 2010, 18:27
OTRS Version?: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby boris » 04 Mar 2013, 17:50

genaum du kopierst die Inhalte aus der Defaluts.pm in die Config pm.
Das steht was von Enter your own stuff hier
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

staybb
OTRS expert
Posts: 51
Joined: 01 Jul 2011, 09:39
OTRS Version?: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby staybb » 01 May 2013, 21:15

Hallo,

ist es auch möglich das eine LDAP und lokale DB Anmeldung im OTRS System funktionert?

LDAP funktioniert bei mir ohne Probleme. Nun habe ich aber auch Kunden die nicht in der Domäne sind und nur lokal im OTRS System angelegt sind.
Wenn ich das Kommentar für die lokale DB aus der config entehme, so dass die LDAP und DB Anmeldung aktiv sein müsste, kann ich mir nur mit Kunden anmelden, die auch in der Domäne vorhanden sind.

User avatar
boris
OTRS ninja
Posts: 554
Joined: 22 Feb 2010, 18:27
OTRS Version?: 3.0.4

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby boris » 15 May 2013, 09:32

So, da es sich häuft muss ich hier mal was loswerden.

Stellt mir hierzu bitte keine Fragen per PM. Jede Frage die jetzt noch per PM kommt werde ich nicht beantworten!

So, das ist nicht weil ich keinen Bock habe sondern weil ich nicht so oft online bin, also müsst ihr schlimmstenfalls sehr lange warten, und zweitens, und viel wichtiger, es widerspricht ja dem Sinn und Zwecke eines Forums.
Foren sind dazu da Wissen zu teilen und zu lernen. Per PM wird das auf zwei Personen beschränkt und dazu braucht es kein Forum.
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

AyKay
OTRS newbie
Posts: 14
Joined: 07 Jun 2013, 08:00
OTRS Version?: 3.2.7

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby AyKay » 07 Jun 2013, 18:39

Hallo Zusammen,

erstmal vielen Dank an boris für die Anleitung. Es ist wahnsinn was das an Zeit gekostet haben muss um es zum laufen zu bekommen. Selbst mit Anleitung sass ich heute den ganzen Tag dran.

Bisher funktioniert die Agent und die Customer Authentifizierung über LDAP an eine AD 2003. Die Agenten sind manuell eingetragen, und da wir nur 4 Personen sind ist das auch kein Problem. Die Customer "würden" auch funktionieren wenn ich sie in die Datenbank eintragen würde, allerdings soll das ja nicht so sein. Selbst wenn ich den kompletten Code von dir nehme und nur meine Anpassungen mache bekomme ich beim login der Customer immer die Meldung "Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."

Eigentlich muss ich dafür doch nur diese Einstellungen richtig setzen, oder?

Code: Select all

   $Self->{CustomerUser1} = {
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => 'dc.ag.firma.com',
      BaseDN => 'OU=Ort, OU=ag, OU=Users, DC=ag, DC=firma, DC=com', # **
      SSCOPE => 'sub',
      UserDN => 'meinuser@ag.firma.com',
      UserPw => 'Passwort123',
     AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@ag.firma.com))',

**muss alle OU's angeben, oder würde es auch reichen wenn ich nur bis zu "ag" angebe? Wir haben gewisse Berechtigungen über die OU geregelt, daher habe ich unter-OU's. Die User dort drin sollen sich aber auch als customer anmelden können...

Leider funktioniert das nicht. Wofür steht eigentlich das "SSCOPE"? Muss ich da evtl. was anpassen?

Wäre echt dankbar einen Lösungsansatz/vorschlag zu bekommen.

Liebe Grüsse
AyKay

AyKay
OTRS newbie
Posts: 14
Joined: 07 Jun 2013, 08:00
OTRS Version?: 3.2.7

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby AyKay » 08 Jun 2013, 10:54

Hallo Zusammen,

da mein letzter Beitrag irgendwie nicht gepostet wurde probier ich es halt nochmal.

Danke Boris für die Anleitung. Ich habe es dank deiner Anleitung geschafft mich gegen die AD zu authentifizieren. Allerdings verzweifle ich derzeit daran, das die Customer geladen werden. Ich bekomme beim Login eines Customers immer :

"Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."

Aber der Customer soll doch gar nicht in der DB eingetragen sein...

Ich habe die Anleitung V2 eigentlich komplett übernommen und meine entsprechenden Daten eingetragen.

Danke im Voraus für die Hilfe.

EDIT:
Echt cool das Beiträge nach einem Monat doch irgendwann mal freigegeben werden. Mittlerweile haben sich meine Fragen erübrigt.

Greetz
AyKay

licorit
OTRS newbie
Posts: 44
Joined: 16 Jul 2013, 08:56
OTRS Version?: 3.2.9
Real Name: Sebastian
Company: Licor
Location: Frankfurt/Main

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby licorit » 16 Jul 2013, 10:32

Danke für diese Anleitung boris, mein Fehler war lediglich das ich bei dem LDAP User das @domain.local vergessen hatte.

So kam der First bind failed Fehler zustande für alle die den auch haben ;)
OTRS 3.2.9 auf Ubuntu 12.4

strikegun
OTRS newbie
Posts: 26
Joined: 28 Aug 2013, 14:23
OTRS Version?: 4.0.8

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby strikegun » 03 Sep 2013, 18:03

Danke Boris für deine Beispiele.
Jetzt läuft es bei mir.
Ich habe sogar LDAP und die lokale DB laufen.
D.h. bei mir haben alle Mitarbeiter per LDAP zugriff und Kunden von Extern registrieren sich per Portal und werden dann in die DB eingetragen.

Wichtig für Leute die wie ich das so machen wollen.
Das Registrieren am Portal funktioniert nur wenn die DB Auth ohne Ziffer ist, sonst gibts einen internal Error.
Also so:

Code: Select all

$Self->{CustomerUser} = {  ..... }

und auch

Code: Select all

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB';


Den LDAP Teil muss dann so aussehen:

Code: Select all

$Self->{CustomerUser2} = {


Code: Select all

$Self->{'Customer::AuthModule2'}
$Self->{'Customer::AuthModule::LDAP::Host2'} = '10.10.100.50';
$Self->{'Customer::AuthModule::LDAP::BaseDN2'} = 'ou=WELT,dc=SYSTEMS,dc=LOCAL';
$Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter2'} = '';
OTRS 4.0.8 + ITSM + KIX4OTRS
on Ubuntu 14.04 LTS

fusi
OTRS newbie
Posts: 8
Joined: 17 Nov 2011, 12:55
OTRS Version?: 3.0.11

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby fusi » 22 May 2014, 16:29

Versuche mit der OTRS 3.3 vergeblich die LDAP Anbindung für die Kundendatenbank zu machen, kann jemand vielleicht seine config.pl posten bei dem es funktioniert.

catweazle
OTRS wizard
Posts: 121
Joined: 15 Feb 2012, 12:22
OTRS Version?: 3.1

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby catweazle » 04 Jul 2014, 09:11

fusi wrote:Versuche mit der OTRS 3.3 vergeblich die LDAP Anbindung für die Kundendatenbank zu machen, kann jemand vielleicht seine config.pl posten bei dem es funktioniert.


hat Boris doch bereits hier gemacht (Seite 1)
1: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
2: Test: OTRS 3.1.21 + Support + MasterSlave @ CentOS 6.5 , MySQL
3: Test-2: OTRS 3.3.x + Support + MasterSlave @ CentOS 6.5 , MySQL (iphone, idoit-trash)

User avatar
gustav
OTRS newbie
Posts: 29
Joined: 10 Mar 2014, 17:49
OTRS Version?: 3.3.8

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby gustav » 21 Aug 2014, 12:17

Weiß jemand vielleicht wie man deaktivierte Benutzer für die LDAP Synchronisierung mit der Kundendatenbank auszuschließen kann? Sieht etwas unschön aus...
Testsystem: OTRS 3.3.8 | ITSM 3.3.8 | KIXCore | KIX4OTRS | CentOS 6.5

User avatar
gustav
OTRS newbie
Posts: 29
Joined: 10 Mar 2014, 17:49
OTRS Version?: 3.3.8

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby gustav » 21 Aug 2014, 12:20

Weiß jemand zufällig wie man deaktivierte AD Benutzer von der LDAP Synchronisation ausschließen kann? Sieht etwas unschön in der Datenbank aus...
Testsystem: OTRS 3.3.8 | ITSM 3.3.8 | KIXCore | KIX4OTRS | CentOS 6.5

Hazet
OTRS superhero
Posts: 386
Joined: 19 Feb 2009, 12:05
OTRS Version?: 5.0.9
Real Name: Harald Zahn
Company: Klinikum Augsburg
Location: Augsburg

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby Hazet » 23 Sep 2014, 07:03

Produktiv: OTRS 5.0.9 , (ITSM 5.0.10) unter Ubuntu 14.04, mysql 5.5
Test: OTRS 5.0.8 , (ITSM 5.0.8), KIX unter Ubuntu 14.04, mysql 5.5

NancyL
OTRS superhero
Posts: 225
Joined: 05 Aug 2014, 08:13
OTRS Version?: 5.0.21
Real Name: Nancy Leue
Location: Gelsenkirchen

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby NancyL » 23 Sep 2014, 13:07

Den Fehler hatte ich aAnfangs ebenfalls, damit hats dann geklappt


Code: Select all

   # --------------------------------------------------- #
    # Agenten Auth gegen ein LDAP Backend                 #
    # --------------------------------------------------- #
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = 'Domänecontroller';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'DC=Firma,DC=de';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'ou=Gruppe,ou=Gruppe,ou=Gruppe,ou=Firma,dc=domäne,dc=de';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'firma\user';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'xxxxxx';
    $Self->{'AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
        };
    # --------------------------------------------------- #
    # Ende Agenten Auth gegen ein LDAP Backend #
    # --------------------------------------------------- #

 # authentication sync settings                        #
    # (enable agent data sync. after succsessful #       
    # authentication)                                     #
    # --------------------------------------------------- #
    $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'dc-hv.stifterverband.de';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'ou=Gruppe,ou=Gruppe,ou=Gruppe,ou=Firma,dc=domäne,dc=de';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'firma\user';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxxxx';
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        # DB -> LDAP
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
        };
    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
    $Self->{'AuthSyncModule::LDAP::Params'} = {
        port    => 389,
        timeout => 120,
        async   => 0,
        version => 3,
        };
    # --------------------------------------------------- #
    # ENDE authentication sync settings               #
    # --------------------------------------------------- #
Last edited by crythias on 23 Sep 2014, 14:26, edited 1 time in total.
Reason: [code] tags
Echt1: OTRS 5.0.22 /OS: Ubuntu 16.04 /Oracle 11
Test: OTRS 5.0.22 / ITSM 5.0.15 /OS: Ubuntu 16.04 /Oracle 11

NancyL
OTRS superhero
Posts: 225
Joined: 05 Aug 2014, 08:13
OTRS Version?: 5.0.21
Real Name: Nancy Leue
Location: Gelsenkirchen

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby NancyL » 23 Sep 2014, 13:24

Ach sorry, ich habe nur die Seite eins gelesen und die Seite zwei ignoriert, bitte meinen Beitrag löschen.
Echt1: OTRS 5.0.22 /OS: Ubuntu 16.04 /Oracle 11
Test: OTRS 5.0.22 / ITSM 5.0.15 /OS: Ubuntu 16.04 /Oracle 11

alexboehm
OTRS newbie
Posts: 3
Joined: 05 Mar 2015, 11:50
OTRS Version?: 4.0.2

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby alexboehm » 05 Mar 2015, 17:00

Hallo Zusammen,

ich kämpfe gerade (seit längerem) mit dem Anmelden mit den LDAP Daten...

Es soll bei uns so aussehen, dass unsere Admins in der IT (in der Gruppe otrs_agent) und die "normalen" User -> Customer (in der Gruppe otrs_user) sich über das LDAP Authentifizieren sollen. Die Daten sind soweit richtig in die Config.pm eingetragen, und das Anmelden des Agents funktioniert auch problemlos.

Nur bei den Kunden komme ich einfach nicht weiter. Diese lassen sich nicht anmelden. Laut Log versucht OTRS gar nicht, die Customer zu prüfen...

Code: Select all

Mar  5 15:21:22 otrssrv OTRS-CGI-28[2038]: [Notice][Kernel::System::Auth::LDAP::Auth] User: simpson authentication failed, no LDAP group entry foundGroupDN='CN=otrs_agent,OU=Sonstige,OU=Ressourcen,OU=Gruppen,OU=OUs,DC=domain,DC=corp', Filter='(member=CN=Homer Simpson,OU=Testuser,OU=Benutzer,OU=OUs,DC=domain,DC=corp)'! (REMOTE_ADDR: 172.20.60.99).
Mar  5 15:21:22 otrssrv OTRS-CGI-28[2038]: [Error][Kernel::System::User::UserLookup][Line:878]: No UserID found for 'simpson'!


Irgendwas mache ich falsch... Bitte um Hilfe... Prinzipiell wäre es mir lieber, die user brauchen sich gar nicht anmelden (SSO) oder halt tickets ohne anmeldung erstellen können.


Einfach vergessen, ich hab nen Nagel im Kopf gehabt, und den Wald vor lauter Bäumen nicht mehr gesehen :D - falsches Interface genutzt...

Viele Grüße

Alex

nd0
OTRS superhero
Posts: 232
Joined: 24 Mar 2015, 16:53
OTRS Version?: 5.0.14
Location: Colonia

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby nd0 » 30 Mar 2015, 10:20

Hallo liebe Freunde,

graben wir den Beitrag doch nochmal aus...

Mein OTRS läuft auf Debian 7.8.0 mit einer mySQL Datenbank.

Meine config.pm:

Code: Select all

package Kernel::Config;

use strict;
use warnings;
use utf8;

sub Load {
    my $Self = shift;
    $Self->{'DatabaseHost'} = '127.0.0.1';
    $Self->{'Database'} = "otrsdb";
    $Self->{'DatabaseUser'} = "otrsuser";
    $Self->{'DatabasePw'} = '*zensiert*';
    $Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";
    $Self->{Home} = '/opt/otrs';
   
$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host1'} = '*zensiert*';
$Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'OU=drei,OU=zwei,DC=int,DC=eins,DC=de';
$Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';

$Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'OTRS';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = '*zensiert*';   

$Self->{CustomerUser1} = {
    Name => 'LDAP',
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => '*zensiert*',
      BaseDN => 'OU=vier,OU=drei,DC=zwei,DC=eins,DC=de',
      SSCOPE => 'sub',
      UserDN => 'OTRS',
      UserPw => '*zensiert*',
     AlwaysFilter =>  '(&)',
    },
    CustomerKey => 'userPrincipalName',
    CustomerID => 'userPrincipalName',
    CustomerCompany => 'company',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    Map => [      
         ['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', 'company', '0', '1', 'var'],
    ],
  };   
 
use base qw(Kernel::Config::Defaults);

1;


Erhalte folgende Fehlermeldung wenn ich mich versuche mit einem der Kunden einzuloggen:
Authentifizierung erfolgreich, aber im Kunden Backend wurde kein Kunden Eintrag gefunden. Bitte kontaktieren Sie Ihren Administrator.


Im Log finde ich folgende Einträge:
Mar 30 10:09:22 helpdesk OTRS-CGI-01[2702]: [Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: vorname.nachname (CN=Nachname\, Vorname,OU=vier,OU=drei,DC=zwei,DC=eins,DC=de) authentication ok (REMOTE_ADDR: 172.21.0.1).
Mar 30 10:09:22 helpdesk OTRS-CGI-01[2702]: [Error][Kernel::System::CustomerUser::SetPreferences][Line:570]: No such user 'vorname.nachname'!
Mar 30 10:10:03 helpdesk OTRS-otrs.Scheduler-01[3602]: [Debug][main::_Status][580] Scheduler Daemon status request! PID 3530


Hat irgendjemand eine Ahnung woran es liegen könnte?

Vielen Dank schonmal im Voraus!

/edit: OTRS-Version: 4.0.6
LIVE: OTRS 5.0.14 || Debian || MySQL/LDAP
TEST: OTRS 5.0.14 || Debian || MySQL/LDAP

User avatar
crythias
Moderator
Posts: 9920
Joined: 04 May 2010, 18:38
OTRS Version?: 4.0.x
Location: SouthWest Florida, USA
Contact:

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby crythias » 30 Mar 2015, 16:42

Gut:

Code: Select all

$Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'OU=drei,OU=zwei,DC=int,DC=eins,DC=de';

nicht gut:

Code: Select all

      BaseDN => 'OU=vier,OU=drei,DC=zwei,DC=eins,DC=de',

die BaseDN ist restriktiver in "CustomerUser" als im Customer::AuthModule

Bitte entschuldigen Sie mein Deutsch. Ich beschuldige Google Translate.
OTRS 4.0.x (private/testing/public) on Linux with MySQL database. Also on github.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask

nd0
OTRS superhero
Posts: 232
Joined: 24 Mar 2015, 16:53
OTRS Version?: 5.0.14
Location: Colonia

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby nd0 » 08 Apr 2015, 17:55

Code: Select all

### AGENTS ###
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = 'IP (UNSER-DomainController)';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=UNSERE-domain,dc=de';
    $Self->{'AuthModule::LDAP::UID'} = 'mail';
   
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS,OU=mitarbeiter,DC=UNSERE-domain,DC=de';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = '****************"';
     
    $Self->{'AuthModule::LDAP::Params'} = {
       port => 389,
       timeout => 120,
       async => 0,
       version => 3,
    };
   
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'IP (UNSER-DomainController)';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=UNSERE-domain,dc=de';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'mail';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=OTRS,OU=mitarbeiter,DC=UNSERE-domain,DC=de';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '****************';
   
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
       UserFirstname => 'givenname',
       UserLastname => 'sn',
       UserEmail => 'mail',
    };
   
    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
       'users',
    ];



### CUSTOMERS ###

    $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host1'} = 'IP (KUNDEN-DomainController)';
    $Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'OU=mitarbeiter,DC=KUNDEN-domain,DC=de';
    $Self->{'Customer::AuthModule::LDAP::UID1'} = 'mail';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'CN=OTRS,OU=mitarbeiter,DC=KUNDEN-domain,DC=de';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = '****************';
   
    $Self->{CustomerUser1} = {
      Name => "LDAP1 - Kunde XYZ",
      Module => 'Kernel::System::CustomerUser::LDAP',
      Params => {
        Host => 'IP (KUNDEN-DomainController)',
        BaseDN => 'OU=mitarbeiter,DC=KUNDEN-domain,DC=de',
        SSCOPE => 'sub',
        UserDN =>'CN=OTRS,OU=mitarbeiter,DC=KUNDEN-domain,DC=de',
        UserPw => '****************',
        SourceCharset => 'utf-8',
        DestCharset => 'iso-8859-1',
      },

    CustomerKey => 'mail',

    CustomerID => 'company',
    CustomerUserListFields => ['cn', 'mail'],
    CustomerUserSearchFields => ['cn', 'mail'],
    CustomerUserSearchPrefix => '',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 250,
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
   
    Map => [
      #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
      [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
      [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
      [ 'UserLogin', 'Login', 'mail', 1, 1, 'var' ],
      [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
      [ 'UserDomain', 'DomainUser', 'userPrincipalName', 1, 1, 'var' ],
      [ 'UserCustomerID', 'CustomerID', 'company', 0, 1, 'var' ],
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
      #[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
      #[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
    }; 


Habs jetzt auch endlich hinbekommen. Der gepostete CODE ist der Teil der zur \Kernel\Config.pm hinzugefügt werden muss.

ACHTUNG: Ich beziehe die Benutzer-Daten aus zwei verschiedenen ActiveDirectory (UNSER-DomainController & KUNDEN-DomainController), die beide die gleiche Struktur (mitarbeiter.domain.de) und beide einen Benutzer "OTRS" haben.

Viel Glück - ich hoffe ihr bekommt es schneller hin als ich & THX crythias

PS: Ein kleiner Hinweis vielleicht noch... bei unserer OTRS Instanz war eine der Anforderungen, dass Agenten und Kunden sich mit ihrer (im ActiveDirectory hinterlegten) E-Mail-Adresse einloggen können/müssen. (UID = 'mail')
LIVE: OTRS 5.0.14 || Debian || MySQL/LDAP
TEST: OTRS 5.0.14 || Debian || MySQL/LDAP

dasDing
OTRS expert
Posts: 54
Joined: 12 Nov 2013, 19:27
OTRS Version?: 4.0.x Linux

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby dasDing » 12 May 2015, 19:03

Ich würde empfehlen in die Anleitung zu schreiben, dass das in die config.pm muss. Weil da habe ich schon lange gesucht, da das nirgends steht.

Ich habe auch mehrere Backends: DB und LDAP
Woran erkennt OTRS eigentlich welches Backend es nutzen muss?

Bei mir kommt noch die Fehlermeldung "No such user 'abc'!"
--
Tue May 12 18:52:14 2015 error OTRS-CGI-10 No such user 'abc'!
Tue May 12 18:52:07 2015 notice OTRS-CGI-10 CustomerUser: abc (CN=a bc,OU=x,OU=y,DC=abcd,DC=local) authentication ok (REMOTE_ADDR: 1.2.3.4).
Tue May 12 18:52:07 2015 notice OTRS-CGI-10 CustomerUser: No auth record in 'customer_user' for 'abc' (REMOTE_ADDR: 1.2.3.4)
--
Muss ich die LDAP-User manuell anlegen? Wie bzw. durch welche Optionen in der config.pm wird er angelegt?

dasDing
OTRS expert
Posts: 54
Joined: 12 Nov 2013, 19:27
OTRS Version?: 4.0.x Linux

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby dasDing » 31 Aug 2015, 19:13

Hallo alle zusammen,

die LDAP-Synchronisation klappt.
Wenn ich allerdings ein Ticket erstelle, steht beim Kundenbenutzer der jeweilige: "loginname Nachname, Vorname" <postfach@maildomain.de>
Wie erreiche ich, dass dort nur noch "Nachname, Vorname" <postfach@maildomain.de> steht?

User avatar
oleole
OTRS wizard
Posts: 148
Joined: 08 Jun 2012, 10:19
OTRS Version?: 4.0.x

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby oleole » 10 Sep 2015, 11:25

Ich kann Dir mal Posten wie ich mir die Kundeninformationen anzeigen lasse:

Map => [
# note: Login, Email and CustomerID needed!
# 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' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
[ 'UserIPPhone', 'IP Phone', 'ipphone', 1, 0 , 'var' ],
[ 'UserCompany', 'Company' , 'company', 1, 0 , 'var' ],
[ 'UserAddress', 'Address', 'l', 1, 0, 'var' ],
[ 'UserDepartment', 'Department' , 'department', 1, 0 , 'var' ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],

Kannst mal in deine Config.pm reinkopieren und testen obs nun hübscher ist 8)


Gruß
oleole
Produktiv: OTRS 4.0.X | Ubuntu 12.04.2 | Apache2 | MySQL 5.5 | KIX4OTRS

dasDing
OTRS expert
Posts: 54
Joined: 12 Nov 2013, 19:27
OTRS Version?: 4.0.x Linux

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby dasDing » 11 Sep 2015, 12:06

Danke!
Ich hatte einen anderen Fehler: CustomerUserListFields => ['cn', 'mail'], Dort hatte ich CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], genommen und dadurch kam das alles doppelt.

Eines frage ich mich noch: Kann ich irgendwo die SID übernehmen?
Wie handhabt ihr das mit der eindeutigen Identifikation von Benutzern? Es kann ja sein, dass beim Heiraten sich der Nachname und die E-Mail-Adresse ändern. Dann wären die alten Tickets im OTRS noch dem alten Login zugeordnet und die neuen Tickets würden dann dem neuen Login zugeordnet werden.
Ignoriert ihr das? Migriert ihr das? Nehmt ihr die SID oder etwas anderes?

aschier
OTRS newbie
Posts: 16
Joined: 23 Jun 2016, 15:05
OTRS Version?: 5.0.10

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby aschier » 23 Jun 2016, 16:22

Hallo,

ich habe jetzt gefühlt die 1000 Anleitung für die LDAP Anbindung durch, immer der gleiche Fehler:
***********************************
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

***********************************

Wenn ich OTRS im Web aufrufen möchte.
Setze 5.0.10 ein, mit Debain.

Wer kann mir hier vielleicht noch ein paar Tipps geben.

Danke

Andreas

patzig
OTRS expert
Posts: 71
Joined: 08 Mar 2016, 12:45
OTRS Version?: 5.0.10
Real Name: Patrick

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby patzig » 23 Jun 2016, 16:43

schau mal in die apache log
Live-System: OTRS 5.0.10, CentOS 7
Testsystem: OTRS 5.0.9, CentOS 6.6

dasDing
OTRS expert
Posts: 54
Joined: 12 Nov 2013, 19:27
OTRS Version?: 4.0.x Linux

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby dasDing » 23 Jun 2016, 16:49

Tritt auch nur in Verbindung mit LDAP auf?

aschier
OTRS newbie
Posts: 16
Joined: 23 Jun 2016, 15:05
OTRS Version?: 5.0.10

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby aschier » 23 Jun 2016, 16:53

ja, das habe ich, ich finde hier auch Error Einträge, die aber auf zwei andere Dateien hinweisen:

/opt/otrs/Kernel/System/ObjectManager.pm line 23
/opt/otrs/bin/cgi-bin/customer.pl line 35

Muss ich denn nur die Config.pm anpassen, oder auch diese beiden hier?

Nein, wenn ich die Einträge alle wieder entferne geht es normal, aber ich kann eben den LDAP nicht anbinden.
Das würde ich aber ganz gerne machen.

Danke

dasDing
OTRS expert
Posts: 54
Joined: 12 Nov 2013, 19:27
OTRS Version?: 4.0.x Linux

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby dasDing » 23 Jun 2016, 17:22

Es kommt auf den Fehler an. Findet er die Dateien nicht?

wurzel
OTRS guru
Posts: 2164
Joined: 08 Jul 2010, 22:25
OTRS Version?: 5.0.x

Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

Postby wurzel » 23 Jun 2016, 17:29

Hi,


mein Vorschlag wäre:

schreibe das mal in einen neuen Thread, das ist übersichtlicher. Hier ist "nur" das Howto.

Dann schreibste bitte noch was Du genau machen willst:

Agenten Anmeldung
Kundenanmeldung
Kundeninformationen

sowie Deine Konfiguration aus der Config.pm

Sonst wird's schwer.

Meine Vorgehensweise wäre:
Erstmal die Kundeninformationen zum Laufen zu bekommen

danach die generelle Agenten Anmeldung mit einfachen Mitteln
Dann die generelle Kunden Anmeldung

und dann erst weiter konfigurieren. (mit Filter oder Mapping)

Viele Grüße
Flo
    OTRS 6.0.x, LAMP LIVE auf Debian 9
    OTRS Business Solution™ 5 Managed Silver

    -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
    Ich beantworte keine Forums-Fragen PN - No PN please

    I won't answer to unfriendly users any more. A greeting and regards are just polite.

    wurzel
    OTRS guru
    Posts: 2164
    Joined: 08 Jul 2010, 22:25
    OTRS Version?: 5.0.x

    Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

    Postby wurzel » 23 Jun 2016, 17:31

    Hi,

    aschier wrote:Muss ich denn nur die Config.pm anpassen, oder auch diese beiden hier?


    Bitte keine andere .pm Datei außer die Config.pm anpassen.

    Vermutlich hast du nur irgendwo ein , oder ; vergessen

    Flo
      OTRS 6.0.x, LAMP LIVE auf Debian 9
      OTRS Business Solution™ 5 Managed Silver

      -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
      Ich beantworte keine Forums-Fragen PN - No PN please

      I won't answer to unfriendly users any more. A greeting and regards are just polite.

      aschier
      OTRS newbie
      Posts: 16
      Joined: 23 Jun 2016, 15:05
      OTRS Version?: 5.0.10

      Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

      Postby aschier » 24 Jun 2016, 07:49

      Das habe ich auch gedacht und alle möglichen Varianten die es im Net über das Thema gibt probiert.

      Muss ich aus der Config.pm dazu noch etwas auskommentieren?

      Danke

      Andreas

      Edit:
      Fehler gefunden, nun kann ich mich gerade nicht mit dem root user anmelden, meine aber, hier darüber was gelesen zu haben.
      You do not have the required permissions to view the files attached to this post.

      aschier
      OTRS newbie
      Posts: 16
      Joined: 23 Jun 2016, 15:05
      OTRS Version?: 5.0.10

      Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

      Postby aschier » 24 Jun 2016, 08:33

      Nun habe ich das gleiche Problem wie schon weiter oben, in der Auswahlliste der Kunden, wo jetzt eigentlich der LDAP stehen sollte sehe ich nur "No Name" .

      Bin auch hier etwas auf dem Schlauch, weil dem Beitrag oben leider nicht direkt geantwortet wurde.

      EDIT:
      Bin auch hier weitergekommen, leider kann ich mich als AD User nicht am Customer Portal anmelden, gibt es hier noch eine wichtige Einstellung?

      Danke
      Last edited by aschier on 24 Jun 2016, 09:50, edited 1 time in total.

      wurzel
      OTRS guru
      Posts: 2164
      Joined: 08 Jul 2010, 22:25
      OTRS Version?: 5.0.x

      Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

      Postby wurzel » 24 Jun 2016, 09:46

      Hi,

      das war ja einfach. Logfiles lesen! Habe Deine Config eingespielt und den gleichen Fehler.
      Wenn Du genau liest siehst Du

      [Fri Jun 24 09:43:35.937352 2016] [:error] [pid 1323] Bad name after mail' at /opt/otrs/Kernel/Config.pm line 123. (...)

      und findest den Eintrag in der Zeile 123

      CustomerUserSearchFields => ['sAMAccountName', 'cn, 'mail'],


      Den Fehler darfste jetz noch selber suchen. Ist nicht schwer. :-) Mit meiner Vermutung "Vermutlich hast du nur irgendwo ein , oder ; vergessen" lag ich nicht sooo verkehrt ;)

      Viele Grüße
      Flo
        OTRS 6.0.x, LAMP LIVE auf Debian 9
        OTRS Business Solution™ 5 Managed Silver

        -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
        Ich beantworte keine Forums-Fragen PN - No PN please

        I won't answer to unfriendly users any more. A greeting and regards are just polite.

        aschier
        OTRS newbie
        Posts: 16
        Joined: 23 Jun 2016, 15:05
        OTRS Version?: 5.0.10

        Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

        Postby aschier » 24 Jun 2016, 10:03

        Hi Flo,

        ja, wie immer, wer lesen kann ******
        Danke

        Nun versuche ich das andere Problem noch zu lösen, denke aber, das ich das hinbekommen.

        Den Zugriff einer Helpdesk Mailadresse via Office 356 suche ich mal hier und spiele das dann auch mal durch.


        Andreas

        wurzel
        OTRS guru
        Posts: 2164
        Joined: 08 Jul 2010, 22:25
        OTRS Version?: 5.0.x

        Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

        Postby wurzel » 24 Jun 2016, 16:25

        Hi,

        aschier wrote:Nun versuche ich das andere Problem noch zu lösen, denke aber, das ich das hinbekommen.


        Ich tue mir echt hart, Deine Probleme zu erkennen. Ich kann zum Beispiel mit Deiner Formulierung: " Auswahlliste der Kunden, wo jetzt eigentlich der LDAP stehen sollte "
        nicht erkennen um was es sich handeln soll


        Du sprichst meines Erachtens von drei verschiedenen Sachen, richtig? Das "andere" Problem, um was handelt es sich denn?

        Wie gesagt, präsentiere Logfiles, Screenshots.

        aschier wrote:Den Zugriff einer Helpdesk Mailadresse via Office 356 suche ich mal hier und spiele das dann auch mal durch.


        Das ist jetzt wieder was Anderes?

        Bitte mach' doch einen extra Thread pro Thema auf. OK?

        Danke
        Flo
          OTRS 6.0.x, LAMP LIVE auf Debian 9
          OTRS Business Solution™ 5 Managed Silver

          -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
          Ich beantworte keine Forums-Fragen PN - No PN please

          I won't answer to unfriendly users any more. A greeting and regards are just polite.

          Dirk23
          OTRS newbie
          Posts: 16
          Joined: 12 Jul 2016, 15:41
          OTRS Version?: 5.0.15
          Real Name: Dirk

          Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

          Postby Dirk23 » 15 Jul 2016, 11:55

          Hallo,

          ich habe erfolgreich die LDAP Anbindung für Agents hinbekommen, leider kann ich das selbe von Customers nicht sagen. Ich habe die Config der OTRS Doku übernommen und an unsere Umgebung angepasst, leider kommt kein Customer in der Customer.pl rein. Die Fehlermeldung lautet:
          Authentifizierung erfolgreich, aber im Kunden-Backend wurde kein Kunden-Eintrag gefunden. Bitte kontaktieren Sie Ihren Administrator.

          Im Syslog steht:
          [Error][Kernel::System::CustomerUser::SetPreferences][Line:570]: No such user 'knapf'!


          Meine Config.pm ist:

          Code: Select all

          # --
          # Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
          # --
          # This software comes with ABSOLUTELY NO WARRANTY. For details, see
          # the enclosed file COPYING for license information (AGPL). If you
          # did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
          # --
          #  Note:
          #
          #  -->> Most OTRS configuration should be done via the OTRS web interface
          #       and the SysConfig. Only for some configuration, such as database
          #       credentials and customer data source changes, you should edit this
          #       file. For changes do customer data sources you can copy the definitions
          #       from Kernel/Config/Defaults.pm and paste them in this file.
          #       Config.pm will not be overwritten when updating OTRS.
          # --

          package Kernel::Config;

          use strict;
          use warnings;
          use utf8;

          sub Load {
              my $Self = shift;

              # ---------------------------------------------------- #
              # database settings                                    #
              # ---------------------------------------------------- #

              # The database host
              $Self->{'DatabaseHost'} = '127.0.0.1';

              # The database name
              $Self->{'Database'} = "dbn";

              # The database user
              $Self->{'DatabaseUser'} = "dbn";

              # The password of database user. You also can use bin/otrs.Console.pl Maint::Database::PasswordCrypt
              # for crypted passwords
              $Self->{'DatabasePw'} = 'dbp';

              # The database DSN for MySQL ==> more: "perldoc DBD::mysql"
              $Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";

              # The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg"
              # if you want to use a local socket connection
          #    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
              # if you want to use a TCP/IP connection
          #    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

              # The database DSN for Microsoft SQL Server - only supported if OTRS is
              # installed on Windows as well
          #    $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";

              # The database DSN for Oracle ==> more: "perldoc DBD::oracle"
          #    $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}";
          #
          #    $ENV{ORACLE_HOME}     = '/path/to/your/oracle';
          #    $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS';
          #    $ENV{NLS_LANG}        = 'AMERICAN_AMERICA.AL32UTF8';

              # ---------------------------------------------------- #
              # fs root directory
              # ---------------------------------------------------- #
              $Self->{Home} = '/opt/otrs';

              # ---------------------------------------------------- #
              # insert your own config settings "here"               #
              # config settings taken from Kernel/Config/Defaults.pm #
              # ---------------------------------------------------- #
              # $Self->{SessionUseCookie} = 0;
              # $Self->{CheckMXRecord} = 0;

              # This is the configuration for using an MS AD backend
              $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
              $Self->{'AuthModule::LDAP::Host'} = 'domain.tld:3268';  #3268 ist der Port für den Globalen Katalog und die Auth für Subdomainuser
              $Self->{'AuthModule::LDAP::BaseDN'} = 'DC=domain,DC=tld';
              $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

              # Check if the user is allowed to auth in a posixGroup
              # (e. g. user needs to be in a group OTRS_Agents to use otrs)
              $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS-Agents,OU=Gruppen,OU=RZ,DC=sub,DC=domain,DC=tld';
              $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
              $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';

              # Bind credentials to log into AD
              $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS LDAP,OU=LDAP-Zugriff,OU=LDAP,DC=domain,DC=tld';
              $Self->{'AuthModule::LDAP::SearchUserPw'} = 'ldappw';

              # in case you want to add always one filter to each ldap query, use
              # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
              #$Self->{'AuthModule::LDAP::AlwaysFilter'} = '(objectclass=user)';

              # in case you want to add a suffix to each login name,  then
              # you can use this option. e. g. user just want to use user but
              # in your ldap directory exists user@domain.
              #$Self->{'AuthModule::LDAP::UserSuffix'} = '';

              # 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,
                  sscope => 'sub'
              };

             # Now sync data with OTRS DB
              $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
              $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
                #     DB       ->    LDAP
                 UserFirstname => 'givenName',
                 UserLastname  => 'sn',
                 UserEmail     => 'mail',
              };

              $Self->{'AuthSyncModule::LDAP::Host'} = 'domain.tld:3268'; #3268 ist der Port für den Globalen Katalog und die Auth für Subdomainuser
              $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'DC=domain,DC=tld';
              $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
              $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=OTRS LDAP,OU=LDAP-Zugriff,OU=LDAPT,DC=domain,DC=tld';
              $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'ldappw';

              # ---------------------------------------------------- #
                  # Ticket::Frontend::CustomerInfo*
                  # (show customer info on Compose (Phone and Email), Zoom and
                  # Queue view)
                  $Self->{'Ticket::Frontend::CustomerInfoCompose'} = 1;
                  $Self->{'Ticket::Frontend::CustomerInfoZoom'} = 1;
                  # CustomerUser
                  # (customer ldap backend and settings)
                  $Self->{CustomerUser} = {
                      Name => 'LDAP Data Source',
                      Module => 'Kernel::System::CustomerUser::LDAP',
                      Params => {
                  # ldap host
                  Host => 'domain.tld:3268', #3268 ist der Port für den Globalen Katalog und die Auth für Subdomainuser
                  # ldap base dn
                  BaseDN => 'DC=domain,DC=tld',
                  # 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 LDAP,OU=LDAP-Zugriff,OU=LDAP,DC=domain,DC=tld',
                  UserPw => 'ldappw',
                  # in case you want to add always one filter to each ldap query, use
                  # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
                  AlwaysFilter => '',
                      # if the charset of your ldap server is iso-8859-1, use this:
          #            SourceCharset => 'iso-8859-1',

                      # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
                      Params => {
                          port => 389,
                          timeout => 120,
                          async => 0,
                          version => 3,
                      },
              },
              # customer unique id
              CustomerKey => 'uid',
              # customer #
              CustomerID => 'mail',
              CustomerUserListFields => ['cn', 'mail'],
              CustomerUserSearchFields => ['uid', 'cn', 'mail'],
              CustomerUserSearchPrefix => '',
              CustomerUserSearchSuffix => '*',
              CustomerUserSearchListLimit => 250,
              CustomerUserPostMasterSearchFields => ['mail'],
              CustomerUserNameFields => ['givenname', 'sn'],
              # show not own tickets in customer panel, CompanyTickets
              CustomerUserExcludePrimaryCustomerID => 0,
              # add an ldap filter for valid users (expert setting)
          #    CustomerUserValidFilter => '(!(description=locked))',
              # administrator can't change customer preferences
              AdminSetPreferences => 0,
          #    # cache time to live in sec. - cache any database queries
          #    CacheTTL => 0,
              Map => [
                  # note: Login, Email and CustomerID are mandatory!
                  # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
                  [ 'UserTitle',      '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', 'company',         0, 1, 'var', '', 0 ],
          #        [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
                  [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
                  [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
                  [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
                  [ 'UserCompany',    'Company',    'company',         1, 0 , 'var', '', 0],
              ],
          };

              # ---------------------------------------------------- #
              # data inserted by installer                           #
              # ---------------------------------------------------- #
              # $DIBI$

              # ---------------------------------------------------- #
              # ---------------------------------------------------- #
              #                                                      #
              # end of your own config options!!!                    #
              #                                                      #
              # ---------------------------------------------------- #
              # ---------------------------------------------------- #
          }

          # ---------------------------------------------------- #
          # needed system stuff (don't edit this)                #
          # ---------------------------------------------------- #

          use base qw(Kernel::Config::Defaults);

          # -----------------------------------------------------#

          1;


          Ich kann auch in der Config aus der OTRS Doku nicht sehen wie die Customer gefiltert werden sollen, es gibt dort keine Einträge wie z.B. bei den Agents:

          Code: Select all

          $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS-Agents,OU=Gruppen,OU=RZ,DC=sub,DC=domain,DC=tld';
          $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
          $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';


          Ausserdem sehe ich im Admin Backend keine Kundenbenutzer! Auch in der MySQL Datenbank sind keine einträge in der Tabelle "customer_user"

          Fehlt mir noch was oder habe ich einen Fehler in der Config.pm?

          Danke im voraus

          Dirk
          OTRS 5.0.15 + ITSM
          Ubuntu 16.04.01

          wurzel
          OTRS guru
          Posts: 2164
          Joined: 08 Jul 2010, 22:25
          OTRS Version?: 5.0.x

          Re: LDAP (AD- Anbindung) für Dummies:-) V1 und V2

          Postby wurzel » 15 Jul 2016, 14:10

          Hi,

          Das ist 'n HowTo. Bitte keine Fragen hier posten.

          Du hast 'n Windows LDAP und bei der Auth Samaccountname angegeben - was richtig ist.

          im CustomerUser haste uid drin.

          Flo
            OTRS 6.0.x, LAMP LIVE auf Debian 9
            OTRS Business Solution™ 5 Managed Silver

            -- ich gebe keine Unterstützung für die Windows Installation :-) I don't support Windows installations :)
            Ich beantworte keine Forums-Fragen PN - No PN please

            I won't answer to unfriendly users any more. A greeting and regards are just polite.


            Return to “Howto's”

            Who is online

            Users browsing this forum: No registered users and 3 guests