Das standardmäßige Benutzer-Authentifizierung-Backend ist die otrs-Datenbank.
[Kernel/Config.pm] # This is the auth. module againt the otrs db $Self->{'AuthModule'} = 'Kernel::System::Auth::DB'; [...] |
Falls ein LDAP-Verzeichnis verfügbar ist, können Sie das LDAP-Authentifizierung-Backend benutzen. Dieses Modul ist nur-lesend (d.h. es kann nicht in Ihr LDAP-Verzeichnis schreiben - dies sollte nur für Ihren Verzeichnis-Manager möglich sein), so dass Sie keine Benutzer via Admin-Interface erstellen oder aktualisieren können.
[Kernel/Config.pm] # This is an example configuration for an LDAP auth. backend. # (take care that Net::LDAP is installed!) $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP'; $Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com'; $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com'; $Self->{'AuthModule::LDAP::UID'} = 'uid'; # Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group xyz to use otrs) # $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=otrsallow,ou=posixGroups,dc=example,dc=com'; # $Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUid'; # The following is valid but would only be necessary if the # anonymous user do NOT have permission to read from the LDAP tree $Self->{'AuthModule::LDAP::SearchUserDN'} = ''; $Self->{'AuthModule::LDAP::SearchUserPw'} = ''; # 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'} = ''; # 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'} = '@domain.com'; # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) # $Self->{'AuthModule::LDAP::Params'} = { # port => 389, # version => 3, # }; [...] |
LDAP-Einträge sollen konform zum PosixAccount und inetOrgPerson Schema sein. Ein Beispiel-Eintrag könnte folgendermaßen aussehen:
dn: uid=lester,ou=user,dc=example,dc=com objectClass: top objectClass: account objectClass: posixAccount objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: officePerson uid: lester cn: Lester Adamas userPassword: {crypt}X5/DBrWPOQQaI gecos: Lester loginShell: /bin/csh uidNumber: 10 gidNumber: 10 homeDirectory: /home/lester sn: Adams givenName: Lester mail: lester@example.com preferredLanguage: fr comment: technical support |
Bitte beachten Sie, dass Sie in Version 1.x einen DB-Eintrag für den LDAP-Benutzer anlegen müssen. Dies wird in den Versionen > 1.1.x automatisch beim ersten Login erledigt.
TODO: soll es wirklich ein Kleiner-Zeichen sein?
Dies sind die Standard-Konfigurations-Optionen, um die LDAP-Attribute auf die Datenbank zu mappen:
# UserSyncLDAPMap # (map if agent should create/synced from LDAP to DB after login) $Self->{UserSyncLDAPMap} = { # DB -> LDAP Firstname => 'givenName', Lastname => 'sn', Email => 'mail', }; |
Falls Sie eine "single sign on"-Lösung benutzen, benutzen Sie http basic authentication (für alle Ihre Systeme) und benutzen Sie das HTTPBasicAuth Modul (kein OTRS-Login benötigt!).
[Kernel/Config.pm] # This is the auth. module againt $ENV{REMOTE_USER} (apache # http-basic-auth) $Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth'; # Note: # If you use this module, you should use as fallback the following # config settings if user isn't login through apache ($ENV{REMOTE_USER}) $Self->{LoginURL} = 'http://host.example.com/not-authorised-for-otrs.html'; $Self->{LogoutURL} = 'http://host.example.com/thanks-for-using-otrs.html'; [...] |
Authentifizierug gegen einen Radius-Server.
[Kernel/Config.pm] # This is example configuration to auth. agents against a radius server $Self->{'AuthModule'} = 'Kernel::System::Auth::Radius'; $Self->{'AuthModule::Radius::Host'} = 'radiushost'; $Self->{'AuthModule::Radius::Password'} = 'radiussecret'; [...] |