Single Sign On - LDAP - Apache(mod_authnz_ldap)

Hilfe zu Znuny Problemen aller Art
Locked
maeck
Znuny newbie
Posts: 50
Joined: 10 Apr 2008, 13:25

Single Sign On - LDAP - Apache(mod_authnz_ldap)

Post by maeck »

Hallo,

wie wahrscheinlich viele andere vor mir, stehe ich nun ebenfalls vor der Aufgabe, die Kundenbenutzer aus dem LDAP zu ziehen und mittels des Apachemoduls mod_authnz_ldap ein Single Sign On zu realisieren.

Ich glaube ich habe alle Einträge dazu hier im Forum gelesen, aber leider hat keiner eine abschließende Beschreibung geliefert, mit der man das gewünschte umsetzen könnte.
Deswegen hoffe ich auf eure Hilfe, um dann abschließend eine Lösung für nachfolgende präsentieren zu können.

Folgender Stand:
Dass die Kundendaten ansich aus dem LDAP gezogen werden, habe ich mit folgendem Eintrag in die config.pam erreicht:

Code: Select all

	# ---------------------------------------------------- #
    # 		       LDAP-Config                        #
    # ---------------------------------------------------- #
	#  Authentifizierung der Kundenbenutzer
	$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
	$Self->{'Customer::AuthModule::LDAP::Host'} = 'pdcserver';
	$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=Customer,ou=Users,ou=Root,dc=meine,dc=domain,dc=de';
	$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
	# User-Account zum Auslesen des LDAP
	$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=otrs-users,ou=IT-Users,ou=Root,dc=meine,dc=domain,dc=de';
	$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'meinPasswort';
	$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
	$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'dc=meine,dc=domain,dc=de';
	
	# CustomerUser1
	# (customer user ldap backend and settings)
	$Self->{CustomerUser1} = {
	    Module => 'Kernel::System::CustomerUser::LDAP',
	    Params => {
	      # ldap host
	      Host => 'pdcserver',
	      # ldap base dn
	      BaseDN => 'ou=Customer,ou=Users,ou=Root,dc=meine,dc=domain,dc=de',
	      # search scope (one|sub)
	      SSCOPE => 'one',
	      # 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=otrs-users,ou=IT-Users,ou=Root,dc=meine,dc=domain,dc=de',
	      UserPw => 'meinPasswort',
	      AlwaysFilter => '(objectclass=user)',
	      SourceCharset => 'utf-8',
	      DestCharset => 'iso-8859-15',
	    },
	    # customer uniq id
	    CustomerKey => 'sAMAccountName',
		#CustomerKey => 'uid',
	    # customer #
	    CustomerID => 'mail',
	    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
	    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
	    CustomerUserSearchPrefix => '',
	    CustomerUserSearchSuffix => '*',
	    CustomerUserSearchListLimit => 250,
	    CustomerUserPostMasterSearchFields => ['mail'],
	    CustomerUserNameFields => ['givenname', 'sn'],
	    Map => [
	      # 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' ],
	    ],
  };
In der httpd.conf des Apache habe ich folgende Module aktiviert:

Code: Select all

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 
LoadModule ldap_module modules/mod_ldap.so
Was muss ich jetzt noch wo einstellen, damit der Single Sign On klappen kann?
Danke für eure Hilfe, maeck
OTRS: 2.3.4
OS: Debian Linux
Apache2/MySQL 5
Locked