nach zwei Tagen Recherche und lesen zahlloser Threads hoffe ich nun das mir jemand helfen kann.
Ich setze OTRS 3.3.8 auf einem Ubuntu Server sein und möchte SingleSignOn für das CustomerBackend konfigurieren.
LDAP Login mit Eingabe von Benutzername und Passwort funktioniert schon einwandfrei.
Auf dem Linux Server möchte ich das Single Sign On mit Kerberos einsetzen und bin nach folgender Anleitung vorgegangen:
http://otrshowto.blogspot.de/ Single-Sign-On (SSO) für die OTRS-Weboberfläche
Eine Anmeldung an der OTRS Customer Oberfläche ohne Passworteingabe funktioniert nicht. Fehlermeldung dort "Anmeldung fehlgeschlagen! Benutzername oder Passwort wurden falsch eingegeben.".
Ich denke der wahre Grund findet sich in der otrs.log
Code: Select all
[Tue Oct 14 13:57:48 2014][Notice][Kernel::System::CustomerAuth::HTTPBasicAuth::Auth] User: No $ENV{REMOTE_USER} or $ENV{HTTP_REMOTE_USER} !(REMOTE_ADDR: x.x.x.x).
Die URL ist im InternetExplorer unter den LokalenSites eingetragen.
Meine ApacheConfig:
Code: Select all
<Directory "/opt/otrs/bin/cgi-bin/">
Options +ExecCGI -Includes
AllowOverride None
Order allow,deny
Allow from all
AuthType Kerberos
AuthName "OTRS"
Krb5Keytab /etc/apache2/otrsserver.keytab
KrbAuthRealm DOMAIN.NET
KrbMethodNegotiate on
KrbSaveCredentials on
KrbMethodK5Passwd on
KrbServiceName HTTP
Require valid-user
KrbLocalUserMapping on <- nicht aus der Doku. Auch wenn es fehlt macht es keinen Unterschied.
<IfModule mod_version.c>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
</IfModule>
<IfModule !mod_version.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/javascript text/css text/xml application/json text/json
</IfModule>
</Directory>
Code: Select all
# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'server.doamin.net';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=DOMAIN,dc=NET';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=gruppe,OU=ou1,OU=ou2,DC=DOMAIN,DC=NET';
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'otrs@DOMAIN.NET';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
inet4 => 1,
};
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@DOMAIN.NET';
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Name => 'LDAP Backend',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'server.domain.net',
BaseDN => 'DC=DOMAIN,DC=NET',
SSCOPE => 'sub',
UserDN => 'otrs@DOMAIN.NET',
UserPw => 'password',
AlwaysFilter => '(&(objectCategory=person)(objectClass=user))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
inet4 => 1,
},
},
# customer unique id
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['givenname', 'sn', 'sAMAccountName','cn', 'mail'],
CustomerUserSearchFields => ['givenname', 'sn', 'sAMAccountName','cn', 'mail'],
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
[ 'UserTitle', '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', 'mail', 0, 1, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserDepartment', 'Department', 'department', 1, 0, 'var', '', 0],
[ 'UserAddress', 'Address', 'l', 1, 0, 'var', '', 0 ],
],
};
kinit -VV -k -t /etc/apache2/otrsserver.keytab HTTP/server.domain.net@DOMAIN.NET
Ich bin mir aber nicht sicher ob den die Kerberos Konfig aus der APACHE Konfiguration für das Verzeichnis /opt/otrs/bin/cgi-bin/ zieht.
Davon gehe ich einfach mal aus.
Wie kann ich den Fehler in der OTRS.LOG beheben?
Vielen Dank für eure Hilfe!