Hallo zusammen,
ich habe jetzt eine Weile gefummelt und komme leider nicht mehr weiter. Ich hoffe jemand kann mich hier auf den richtigen Weg schubsen, es fehlt mir glaube ich nur eine Kleinigkeit.
Zu unserer Umgebung: ADS 2003 + Exchange 2007, OTRS 2.4.7, ITSM 2.0.2
In der Exchange 2007 Konsole kann man noch zusätzliche Extension Attributes pflegen. Wir haben hier die Personalnummer der User eingetragen, um die Eindeutigkeit der UID zu gewährleisten. Die eMailadresse ist leider nicht immer eindeutig, wenn Mitarbeiter ausscheiden und neue kommen kann es bei Namenähnlichkeiten zu Überschneidungen kommen.
Ich habe das OTRS neu aufgesetzt und so konfiguriert, dass die Leute sich mit ihrem ADS Kürzel einloggen, die Personalnummer aber die UID ist, welche sich in Extension Attribute 8 befindet. Der Kundenlogin funktioniert, ich kann beim einloggen auch sehen dass die Personalnummer als UID genutzt wird.
Was leider nicht klappt ist der Agentenlogin. Die Felermeldung ist:
Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid.
Es liegt bestimmt daran dass die Agenten UID, welche ja auch im Extension Attribute 8 liegt, nicht gefunden wird. Ich weiß aber nicht wie ich OTRS sagen soll, dort nachzusehen.
Hier ist meine Konfiguration:
# ---------------------------------------------------- #
# LDAP Konfiguration #
# ---------------------------------------------------- #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
# ---------------------------------------------------- #
# Agenten Konfiguration #
# ---------------------------------------------------- #
$Self->{'AuthModule::LDAP::Host'} = 'DC.Domaene.info';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=Domaene, dc=info';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=Domainadmin, ou=Admin_Groups, dc=Domaene, dc=info';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Domainadminpassword';
# UserSyncLDAPMap
# (map if agent should create/synced from LDAP to DB after login)
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
# UserSyncLDAPGroups
# (If "LDAP" was selected="selected" for AuthModule, you can specify
# initial user groups for first login.)
$Self->{UserSyncLDAPGroups} = [
'users',
];
# UserTable
$Self->{DatabaseUserTable} = 'users';
$Self->{DatabaseUserTableUserID} = 'id';
$Self->{DatabaseUserTableUserPW} = 'pw';
$Self->{DatabaseUserTableUser} = 'login';
#Add the following lines when only users are allowed to login if they reside in the spicified security group
#Remove these lines if you want to provide login to all users specified in the User Base DN
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS_Agenten,OU=Groups,OU=Standortou,DC=Domaene,DC=info';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# ---------------------------------------------------- #
# Agenten Konfiguration ENDE #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# Kunden Konfiguration #
# ---------------------------------------------------- #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'DC.Domaene.info';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=Domaene,dc=info';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'samaccountname';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=Domainadmin, ou=Admin_Groups, dc=Domaene, dc=info';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Domainadminpassword';
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Name => 'LDAP Datenquelle',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'DC.Domaene.info',
# ldap base dn
BaseDN => 'dc=Domaene,dc=info',
# 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=Domainadmin, ou=Admin_Groups, dc=Domaene, dc=info',
UserPw => 'Domainadminpassword',
# 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 your frontend is e. g. iso-8859-1 and the charset of your
# ldap server is utf-8, use this options (if not, ignore it)
SourceCharset => 'utf-8',
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 uniq id
CustomerKey => 'samaccountname',
# customer #
CustomerID => 'extensionAttribute8',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['uid', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# show now own tickets in customer panel, CompanyTickets
CustomerUserExcludePrimaryCustomerID => 0,
# add a ldap filter for valid users (expert setting)
# CustomerUserValidFilter => '(!(description=gesperrt))',
# admin can't change customer preferences
AdminSetPreferences => 0,
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'samaccountname', 1, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'extensionAttribute8', 0, 1, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};
# ---------------------------------------------------- #
# Kunden Konfiguration ENDE #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# LDAP Konfiguration ENDE #
# ---------------------------------------------------- #
Der Vollständigkeit halber habe ich mal die Kundenkonfiguration mitgepostet. Weiß jemand Rat?
LDAP Agentenanbindung mit anderer UID
LDAP Agentenanbindung mit anderer UID
Produktiv:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
Test:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
Test:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
Re: LDAP Agentenanbindung mit anderer UID
Hat keiner Rat? Vielleicht kennt jemand eine andere Methode.
Hintergrund ist der, dass wir anhand der Personalnummer die Kostenstelle rauskriegen können um dann auswerten zu können wo besonders viele Tickets aufgeschlagen sind.
Wichtig wäre also die Auswertung nach Kostenstelle. Ich habe schon überlegt im Kommentar des Kunden die Personalnummer abzulegen aber leider kann man dies bei der Ticketauswertung nicht berücksichtigen.
Hintergrund ist der, dass wir anhand der Personalnummer die Kostenstelle rauskriegen können um dann auswerten zu können wo besonders viele Tickets aufgeschlagen sind.
Wichtig wäre also die Auswertung nach Kostenstelle. Ich habe schon überlegt im Kommentar des Kunden die Personalnummer abzulegen aber leider kann man dies bei der Ticketauswertung nicht berücksichtigen.
Produktiv:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
Test:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010
Test:
OTRS: 5.0.17 + ITSM
OS: Ubuntu 14.04 LTS, Exchange 2010