ich versuche gerade OTRS 3.3.8 mit zwei Windows AD Domänen zu verknüpfen, damit sich die Benutzer als Customer anmelden können.
Soweit funktioniert das auch, Benutzer beider Domänen können sich auf der customer.pl anmelden ABER ich sehe, wenn ich mich als Admin anmelde auf der index.pl nur die Benutzer einer Domäne, nicht die anderen. Diese werden wohl nicht gesynct oder nicht angezeigt (ich weiß nicht ob die Anzeige unter Admin/Kundenbenutzer angepasst werden muß, damit er beide Domänen anzeigt. Ich kann aber auch nur, wenn ich die Suche verwende, die Benutzer der einen Domäne sehen. Komisch ist das sich die Benutzer der Domäne 2 aber trotzdem anmelden können.
Haben Sie eine Idee wie ich das in den Griff bekomme?
Danke und Gruß
Thomas
anbei die Ausschnitte aus der Config.pm:
Code: Select all
################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
# Customer 1 #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host2'} = 'server1';
$Self->{'Customer::AuthModule::LDAP::BaseDN2'} ='DC=domain1,DC=de'; # hier die DN
# in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
$Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN2'} = 'CN=OTRS_Customer,OU=Users,DC=domain1,DC=de'; # das gleiche wie bei den Agents
# nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
#$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'memberUid'; #s.o.
#$Self->{'AuthModule::AuthModule::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = 'user@domain1.de'; #s.o. das hier wä dann der userPrincipalName
#ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
$Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = 'kennwort';
$Self->{'Customer::AuthModule::LDAP::Params2'} = {
port => 3268,
timeout => 120,
async => 0,
version => 3,
};
$Self->{'AuthModule::LDAP::Die2'} = 1;
################################################################################################################################
#------------------------------------------------------------------------------------------------------------------------------#
# Customer 2 #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host1'} = 'server2';
$Self->{'Customer::AuthModule::LDAP::BaseDN1'} ='dc=domain2,dc=de'; # hier die DN
# in der eure User liegen, kommt halt drauf an wie eurer AD strukturiert ist
$Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'cn=OTRS_Customer,ou=Gruppen,dc=domain2,dc=de'; # das gleiche wie bei den Agents
# nur wer in der Gruppe 'otrscustomer' ist darf sich einloggen
$Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'member'; #s.o.
#$Self->{'AuthModule::AuthModule::UserAttr1'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::UserAttr1'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'user@domain2.de'; #s.o. das hier wä dann der userPrincipalName
#ob es irgenwelche Nachteile hat wenn man den userPrincipalName anstatt der DN nimmt weiss ich nicht...
$Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'kennwort';
$Self->{'Customer::AuthModule::LDAP::Params1'} = {
port => 3268,
timeout => 120,
async => 0,
version => 3,
};
$Self->{'AuthModule::LDAP::Die1'} = 1;
#------------------------------------------------------------------------------------------------------------------------------#
# UserSyncLDAPMap #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'UserSyncLDAPMap2'} = {
'UserEmail' => 'mail',
'UserFirstname' => 'givenName',
'UserLastname' => 'sn',
'UserLogin' => 'sAMAccountName'
};
$Self->{CustomerUser2} = {
Name => 'Customer2',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'ip vom server',
BaseDN => 'DC=domain1,DC=de',
SSCOPE => 'sub',
UserDN => 'user@domain1.de', # wieder DN oder UserPrincipalName
UserPw => 'kennwort',
AlwaysFilter => '(&(objectclass=user)(mail=*.*))',
#AlwaysFilter => '(&(objectclass=user)(mail=*.*@domain1.com))',
# falls ihr was ausschliessen wollt:
# AlwaysFilter => '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
},
# Table => 'customer_user',
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# CustomerUserSearchListLimit => 2000, # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
# die Zeile muss nicht rein, macht aber bei uns hier Sinn.
Map => [
[ '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' ],
],
};
#------------------------------------------------------------------------------------------------------------------------------#
# UserSyncLDAPMap 2 #
#------------------------------------------------------------------------------------------------------------------------------#
$Self->{'UserSyncLDAPMap1'} = {
'UserEmail' => 'mail',
'UserFirstname' => 'givenName',
'UserLastname' => 'sn',
'UserLogin' => 'sAMAccountName'
};
$Self->{CustomerUser1} = {
Name => 'Customer1',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'ip',
BaseDN => 'dc=domain2,dc=de',
SSCOPE => 'sub',
UserDN => 'user2@domain2.de', # wieder DN oder UserPrincipalName
UserPw => 'kennwort',
AlwaysFilter => '(&(objectclass=user)(mail=*.*))',
# falls ihr was ausschliessen wollt:
# AlwaysFilter => '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
# Table => 'customer_user',
GroupDN => 'cn=OTRS_Customer,ou=Gruppen,dc=domain2,dc=de',
AccessAttr => 'member',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# CustomerUserSearchListLimit => 2000, # die Anzahl der User die in euerer Kundenübersicht maximal angezeit werden.
# die Zeile muss nicht rein, macht aber bei uns hier Sinn.
Map => [
[ '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' ],
],
};