[gelöst] LDAP Sync
[gelöst] LDAP Sync
Hallo,
Ersteinmal meine Ausgangsdaten:
Windows 2008 R2
OTRS 3.1.11
ActiveDirectory
Alle Benutzer im AD in OU Benutzer und OU Benutzer/inaktive
die OTS Gruppen liegen in OU otrs
Generell funktioniert die LDAP Anbindung. Ich sehe als Agent die Kunden aus dem LDAP im Adressbuch.
Kunden denen bereits ein Ticket zugeordnet war, und somit in der DB sind, können sich im Customer Bereich einloggen.
Versucht sich ein Kunde, der im AD vorhanden ist aber noch kein Ticket hatte, einzuloggen kommt die Meldung:
"Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."
Im Log:
[Fri Dec 7 12:53:48 2012][Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: otrskunde (CN=otrskunde,OU=Benutzer,DC=tm,DC=local) authentication ok (REMOTE_ADDR: 10.68.7.9).
[Fri Dec 7 12:53:48 2012][Error][Kernel::System::CustomerUser::SetPreferences][506] No such user 'otrskunde'!
Soweit ich das verstanden habe, ist das auch richtig so und lässt sich nicht ändern, dass alle AD User sich als Kunde von beginn an anmelden können.
Was aber funktionieren kann, nur bei mir noch nicht, ist folgendes Szenario:
AD User in Gruppe OTRS_Agents soll ich in otrs anmelden können, ohne das ein Admin einen Benutzer in der otrs DB anlegt.
Z.Z. kommt folgendr Fehler:
"Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid."
Im Log:
[Fri Dec 7 12:59:55 2012][Notice][Kernel::System::Auth::LDAP::Auth] User: otrsagent (CN=otrsagent,OU=Benutzer,DC=tm,DC=local) authentication ok (REMOTE_ADDR: 10.68.7.9).
[Fri Dec 7 12:59:55 2012][Error][Kernel::System::User::UserLookup][797] No UserID found for 'otrsagent'!
[Fri Dec 7 12:59:55 2012][Error][Kernel::System::User::UserLookup][797] No UserID found for 'otrsagent'!
[Fri Dec 7 12:59:55 2012][Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'otrsagent'!!!
Meine Config.pm im zweiten Post...
Ersteinmal meine Ausgangsdaten:
Windows 2008 R2
OTRS 3.1.11
ActiveDirectory
Alle Benutzer im AD in OU Benutzer und OU Benutzer/inaktive
die OTS Gruppen liegen in OU otrs
Generell funktioniert die LDAP Anbindung. Ich sehe als Agent die Kunden aus dem LDAP im Adressbuch.
Kunden denen bereits ein Ticket zugeordnet war, und somit in der DB sind, können sich im Customer Bereich einloggen.
Versucht sich ein Kunde, der im AD vorhanden ist aber noch kein Ticket hatte, einzuloggen kommt die Meldung:
"Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator."
Im Log:
[Fri Dec 7 12:53:48 2012][Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: otrskunde (CN=otrskunde,OU=Benutzer,DC=tm,DC=local) authentication ok (REMOTE_ADDR: 10.68.7.9).
[Fri Dec 7 12:53:48 2012][Error][Kernel::System::CustomerUser::SetPreferences][506] No such user 'otrskunde'!
Soweit ich das verstanden habe, ist das auch richtig so und lässt sich nicht ändern, dass alle AD User sich als Kunde von beginn an anmelden können.
Was aber funktionieren kann, nur bei mir noch nicht, ist folgendes Szenario:
AD User in Gruppe OTRS_Agents soll ich in otrs anmelden können, ohne das ein Admin einen Benutzer in der otrs DB anlegt.
Z.Z. kommt folgendr Fehler:
"Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid."
Im Log:
[Fri Dec 7 12:59:55 2012][Notice][Kernel::System::Auth::LDAP::Auth] User: otrsagent (CN=otrsagent,OU=Benutzer,DC=tm,DC=local) authentication ok (REMOTE_ADDR: 10.68.7.9).
[Fri Dec 7 12:59:55 2012][Error][Kernel::System::User::UserLookup][797] No UserID found for 'otrsagent'!
[Fri Dec 7 12:59:55 2012][Error][Kernel::System::User::UserLookup][797] No UserID found for 'otrsagent'!
[Fri Dec 7 12:59:55 2012][Notice][Kernel::System::User::GetUserData] Panic! No UserData for user: 'otrsagent'!!!
Meine Config.pm im zweiten Post...
Last edited by Dennis13 on 18 Dec 2012, 15:02, edited 3 times in total.
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory
Re: LDAP Sync
Ich habe das mit der Gruppenzugehörigkeit auch zum Testen ausgeklammert:
(Das ist aus der Config von "LDAP für Dummis" die Kommentare muss ich noch entfernen
Grüße,
Dennis
(Das ist aus der Config von "LDAP für Dummis" die Kommentare muss ich noch entfernen

Code: Select all
# --
# Kernel/Config.pm - Config file for OTRS kernel
# Copyright (C) 2001-2011 xxx, http://otrs.org/
# --
# $Id: Config.pm.dist,v 1.25 2011/09/16 10:58:28 mg 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;
use utf8;
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'} = 'http://localhost/otrs/installer.pl';
# 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};";
# if you have PostgresSQL 8.1 or earlier, activate the legacy driver with this line:
# $Self->{DatabasePostgresqlBefore82} = 1;
# ---------------------------------------------------- #
# 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;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
$Self->{LogModule} = 'Kernel::System::Log::File';
$Self->{LogModule::LogFile} = 'C:/PROGRA~2/OTRS/OTRS/var/log/otrs.log';
# $DIBI$
#--------------------------------------------------------------------------------------------
# Firma1 #
#--------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------
# Agenten Authentifizeirung #
#--------------------------------------------------------------------------------------------
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'dc.firma.local'; #hier kann auch die IP des DCs stehen. aber sinvollerweise hat man ja mehr als einen:-)
$Self->{'AuthModule::LDAP::BaseDN'} = 'OU=Benutzer, DC=firma, DC=local'; # lest euch die Seiten die ich oben verlinkt habe durch, dann wird DN,OU, DC usw. alles klar:-)
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# $Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS_Agents,OU=otrs,DC=firma,DC=local'; # nur Mitlieder dieser Gruppe dürfen sich einloggen, ich habs auskommentiert weil ich es bei uns nicht filtere.
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member'; # bei 2008er Domänen ist es 'member' bei 2003er ist es 'memberUID'*
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'ldapuserotrs@firma.local'; # hier geht es auch mit dem user Principal Name,
# oder eben die DN des Bindusers, war bei mir ne böse Falle weil ich es nicht wörtlich genug genommen habe. Die SearchUserDN ist nicht die DN
# in der der User liegt sondern die eindeutige des Users, das gleiche gilt für die GroupDNs
# der Search User muss Mitglied in "Domänen-Benutzer" und in "Windows-Authentifizierungszugriffgruppe" sein
# sähe dann ungefähr so aus
#$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrsldap,CN=Users,DC=Firma1,DC=local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'geheim';
#--------------------------------------------------------------------------------------------
# Kunden Authentifizeirung #
#--------------------------------------------------------------------------------------------
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'dc.firma.local';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=Benutzer, DC=firma, DC=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRS_Kunden,OU=otrs,DC=firma,DC=local'; # das gleiche wie bei den Agents nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen, bei uns ist es nicht so, deswegen auskommantiert:-)
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'ldapuserotrs@firma.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'geheim';
#--------------------------------------------------------------------------------------------
# Kundendaten #
#--------------------------------------------------------------------------------------------
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'dc.firma.local',
BaseDN => 'OU=Benutzer, DC=firma, DC=local', # hier die DN in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
SSCOPE => 'sub',
UserDN => 'ldapuserotrs@firma.local',
UserPw => 'geheim',
AlwaysFilter => '(&(objectclass=user)(mail=*.*@firma.de))',
# falls ihr was ausschliessen wollt geht das mit (!(ausgeschlossenes Attribut)):
# AlwaysFilter => '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# hier könnt ihr euch LDAP Atribute Mappen. Firma2 (unten) hat ein Besipiel drin.
# da wird die FAX-Nummer ins Kommentarfeld gemappt
# 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' ],
# [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
# [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
#--------------------------------------------------------------------------------------------
# Firma Ende #
#--------------------------------------------------------------------------------------------
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# End of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
}
# ---------------------------------------------------- #
# needed system stuff (don't edit this) #
# ---------------------------------------------------- #
use strict;
use warnings;
use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.25 $)[1];
use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');
# -----------------------------------------------------#
1;
Dennis
Last edited by Dennis13 on 07 Dec 2012, 14:17, edited 1 time in total.
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory
Re: LDAP Sync
poste doch mal DEINEN Customer Sync aus der Config.pm
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)
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)
Re: LDAP Sync
Ich habe die komplette Config.pm im 2. Post eingestellt. Das ist alles was ich habe.
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory
Re: LDAP Sync
Ich habe mal den Abschnitt für den Agentsync eingefügt.
Das ist aber nicht was du meinst, oder? Und wird auch nicht unbedingt für meine Anforderung benötigt?
Das ist aber nicht was du meinst, oder? Und wird auch nicht unbedingt für meine Anforderung benötigt?
Code: Select all
#--------------------------------------------------------------------------------------------
# agent data sync against ldap #
#--------------------------------------------------------------------------------------------
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'dc.firma.local';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'OU=Benutzer, DC=tm, DC=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'ldapuserotrs@firma.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'geheim';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
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',
];
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory
Re: LDAP Sync
Für Customer braucht Du
so lange Du aber nicht Deinen angepassten Code hier postest (bitte nicht die Passwörter...), wird es schwer zu sagen wo der Fehler liegt...
Code: Select all
$Self->{CustomerUser} = {
...
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)
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)
Re: LDAP Sync
catweazle wrote:Für Customer braucht Du
so lange Du aber nicht Deinen angepassten Code hier postest (bitte nicht die Passwörter...), wird es schwer zu sagen wo der Fehler liegt...Code: Select all
$Self->{CustomerUser} = { ...
Ich verweise hier noch einmal auf den zweiten Post in diesem Thema. Dort habe ich den kompletten Inhalt der config.pm gepostet.
Wenn trotzdem noch etwas fehlt, sag mit bitte genauer was fehlt, und ich poste es.
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory
Re: LDAP Sync
okay, das ist doch aber nur der unbehandelte Code aus dem Beispiel, oder?Dennis13 wrote: Ich verweise hier noch einmal auf den zweiten Post in diesem Thema. Dort habe ich den kompletten Inhalt der config.pm gepostet.
Wenn trotzdem noch etwas fehlt, sag mit bitte genauer was fehlt, und ich poste es.
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)
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)
Re: LDAP Sync
Man kann doch in dem Code-Fenster scrollen... :/
Aber ich habe die Konfiguration noch einmal komplett neu überarbeitet und jetzt funktioniert alles.
Ein wichtiger Hinweis wäre, die OTRS Dienste, öfters neu zu starten.
Ein weiteres Problem habe ich von beginn an, dass wenn ich ein neues Ticket erstelle und auf Erstellen klicke,
das Ticket erstellt wird aber ich auf eine leere/ weiße Seite komme.
Es wird in der Adresszeile http://server/otrs/index.pl angezeigt.
Hierzu sollte ich aber besser ein neues Thema anlegen...
Aber ich habe die Konfiguration noch einmal komplett neu überarbeitet und jetzt funktioniert alles.
Ein wichtiger Hinweis wäre, die OTRS Dienste, öfters neu zu starten.
Ein weiteres Problem habe ich von beginn an, dass wenn ich ein neues Ticket erstelle und auf Erstellen klicke,
das Ticket erstellt wird aber ich auf eine leere/ weiße Seite komme.
Es wird in der Adresszeile http://server/otrs/index.pl angezeigt.
Hierzu sollte ich aber besser ein neues Thema anlegen...
Code: Select all
#--------------------------------------------------------------------------------------------
# Agent Authentifizeirung mit AD #
#--------------------------------------------------------------------------------------------
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ad.domäne.local';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=domäne,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# Agents müssen der Gruppe angehören um sich anzumelden
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSAgents,OU=otrs,DC=domäne,DC=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
# User Account mit Domänen-Benutzer Recht für AD abgleich
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'ldapuserotrs@domäne.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'geheim';
#--------------------------------------------------------------------------------------------
# Agenten Data Sync mit AD #
#--------------------------------------------------------------------------------------------
$Self->{'AuthModule::UseSyncBackend'} = 'AuthSyncBackend';
# Agent data sync mit AD
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ad.domäne.local';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'DC=domäne,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'ldapuserotrs@domäne.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'geheim';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
# Agent erhält folgende Gruppenzugehörigkeit bei erstem Login
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
#--------------------------------------------------------------------------------------------
# Kunden Authentifizeirung mit AD #
#--------------------------------------------------------------------------------------------
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'ad.domäne.local';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'OU=Benutzer, DC=domäne, DC=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
# Kunden müssen der Gruppe angehören um sich anzumelden
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRSKunden,OU=otrs,DC=domäne,DC=local';
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
# User Account mit Domänen-Benutzer Recht für AD abgleich
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'ldapuserotrs@domäne.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'geheim';
#--------------------------------------------------------------------------------------------
# Kundendaten #
#--------------------------------------------------------------------------------------------
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'ad.domäne.local',
BaseDN => 'OU=Benutzer, DC=domäne, DC=local',
SSCOPE => 'sub',
UserDN => 'ldapuserotrs@domäne.local',
UserPw => 'geheim',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
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' ],
# [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
# [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};
OTRS 3.1.11 - Windows 2008 R2 - ActiveDirectory