SSO - Single Sign on

Hilfe zu OTRS Problemen aller Art
Post Reply
prichter
Znuny newbie
Posts: 34
Joined: 22 Jan 2013, 12:22
Znuny Version: 3.0.1

SSO - Single Sign on

Post by prichter »

Hallo, ich habe Aykays Beitrag, bei "How to" genau gelesen, leider klappt es nicht so wie gewünscht. Apache konnte ich noch problemlos einstellen. Aber bei der config.pm im OTRS hapert es bei mir.
Hier mal die Config.pm von Aykay:

Code: Select all

                                  Kunden Authentifizierung SSO                             #
#--------------------------------------------------------------------------------------------
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'Customer::AuthModule::HTTPBasicAuth::Replace'} = 'mydomain\\';
#-------------------------------------------------------------------------------------------- 
#                                     Kundendaten                                           #
#--------------------------------------------------------------------------------------------
   $Self->{CustomerUser} = {
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => $Host,
      BaseDN => $BaseDN,
      SSCOPE => 'sub',
      UserDN => $SearchUserDN,
      UserPw => $SearchUserPw,
	  AlwaysFilter =>  '',
	  Params => {
                port => 389,
                timeout => 120,
                async => 0,
                version => 3,
            },
    },
    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' ],
    ],
  };
ich hab es etwas anders gemacht und hatte vorher damit eine komplett funktionierende LDAp anbindung hinbekommen:
hier mein Code dazu(für domain steht sonst meine domain da):

Code: Select all

#--------------------------------------------------------------------------------------------
#                                  Kunden Authentifizeirung                                 #
#--------------------------------------------------------------------------------------------
  $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';		# Standartauthenfizierungs für die Benutzer/Kunden
  $Self->{'Customer::AuthModule::LDAP::Host1'} = '***.***.***';				#Angabe des Hosts in dem die Domain liegt, hier ist es die IP des serv10
  $Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'DC=domain,DC=lokal';	                                #Angabe der Basis Domain, wo liegt was
  $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';				# Anmeldung eines Domain Users der Zugriff auf diese hat
 # $Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 'CN=OTRS-Kunden,OU=Gruppen,DC=domain,DC=lokal';
  #$Self->{'Customer::AuthModule::LDAP::AccessAttr1'} = 'memberUID'; 
		# 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::SearchUserDN1'} = 'read_ldap@domain.lokal'; # user der in der Domain hängt, am besten ein "allrounduser" dessen Passwort nicht ausläuft
  $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = '$*******; #festgelegtes Psswort dieses Users
#-------------------------------------------------------------------------------------------- 
#                                     Kundendaten                                           #
#--------------------------------------------------------------------------------------------
   $Self->{CustomerUser1} = { #Kunden daten, die " 1 " steht da für Firma 1
    Module => 'Kernel::System::CustomerUser::LDAP', #Authentifizierung der Benutzer
    Params => {  #notwendige Parameter
      Host => '1**.***.***', #IP des Hosts der Domain
      BaseDN => 'OU=StandardUser, OU=Benutzer, DC=domain,DC=lokal',# hier die DN in der eure User liegen  ! A und O !
      SSCOPE => 'sub',
      UserDN => 'read_ldap@domain.lokal',
      UserPw => '$*******3',
	  #AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@bbs-sachsen.de))',
	  	# falls ihr was ausschliessen wollt geht das mit (!(ausgeschlossenes Attribut)):
		# AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
      SourceCharset => 'utf-8', # Änderung der Zeichen, ohne utf-8 werden keine Umlaute angezeigt
      DestCharset => 'utf-8',
    },
    CustomerKey => 'sAMAccountName', #Darstellung der Kundennamen
    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' ], # in den folgenden Zeilen werden bestimmte Werte definiert die dann im OTRS unter "Kunden" angezeigt werden
      [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
      [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
      [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
      [ 'UserCustomerID', 'CustomerID', 'department', 0, 1, 'var' ], # Hier etwas zu korrigieren bei uns, Unter Customer ID stand am Anfang die 'mail' wir haben das mit 'department' ersetzt
      [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
#       [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#       [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
  };


 #--------------------------------------------------------------------------------------------
wenn ich bei der Config.pm dann im Bereich Kundenauthentifizierungs Aykays Version reinbastle bekomme ich einen "Internale Serverfehler", wie kann ich das beheben, bzw meine und die AykaysVersion verknüpfen?

Grüße aus DD
OTRS 3.1.12 , Win Server 2008 R2, Apache 2.2
AyKay
Znuny newbie
Posts: 14
Joined: 07 Jun 2013, 08:00
Znuny Version: 3.2.7

Re: SSO - Single Sign on

Post by AyKay »

Hi,

du sollst nicht meine komplette config.pm nehmen sondern nur entsprechend reinkopieren und konfigurieren. In der Config.pm stehen wichtige Serverdaten die auch drin bleiben sollten.

Wenn die config.pm noch "frisch" ist. Kopierst du einfach den Inhalt von mir NACH

Code: Select all

package Kernel::Config;

use strict;
use warnings;
use utf8;

sub Load {
    my $Self = shift;
und vor

Code: Select all

    # The database host
    $Self->{'DatabaseHost'} = 'localhost';

    # The database name
    $Self->{'Database'} = '***';

    # The database user
    $Self->{'DatabaseUser'} = '***';
Das müsste ca. Zeile 28 sein oder so...
Alles klar soweit?
prichter
Znuny newbie
Posts: 34
Joined: 22 Jan 2013, 12:22
Znuny Version: 3.0.1

Re: SSO - Single Sign on

Post by prichter »

ich habe meine eigene config genommen, bzw die von boris angepasst.
OTRS 3.1.12 , Win Server 2008 R2, Apache 2.2
Post Reply