Customer ActiveDirectory Authentication

Hilfe zu OTRS Problemen aller Art
Post Reply
Jojo117
Znuny newbie
Posts: 57
Joined: 06 Dec 2013, 10:37
Znuny Version: 5.0.11

Customer ActiveDirectory Authentication

Post by Jojo117 »

Heiho,

habe folgende Situation und folgendes Problem:

Aktuell nutzen wir OTRS 4.0.1 auf Debian v7.4 und möchten für unsere Kollegen des Unternehmens den Customer Bereich zur Verfügung stellen um Ticketstati abzufragen, und eventuell auch mal auf alte Problemlösungen zugreifen können.

Das ganze würde ich gerne über unser ActiveDirectory (DomainLevel 2012) authentifizieren lassen, sodass sich keine noch ein weiteres Konto einrichten muss. Allerdings verzweifle ich kläglich an der Config.pm und deren korrekten Konfiguration.

Habe mir das Admin Manual und mehrere Foren zur Hilfe genommen, komme aber nicht weiter.

Hier ein Auszug des LDAP Bereiches in meiner Config.pm. Habe die Domains und Passwörter mit Platzhaltern versehen.

Hoffentlich kann mir jemand auf die Sprünge helfen.
Vielen Dank im Voraus! :)

Code: Select all


	#Enable LDAP authentication for Customers / Users
   $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
   $Self->{'Customer::AuthModule::LDAP::Host'} = 'svrb-dc1';
   $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'CN=Users,DC=domain,DC=local';
   $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';

#The following is valid but would only be necessary if the
 #anonymous user do NOT have permission to read from the LDAP tree
   $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'otrs_ldap';
   $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'PASS';

#CustomerUser
 #(customer user database backend and settings)
     $Self->{CustomerUser} = {
       Module => 'Kernel::System::CustomerUser::LDAP',
       Params => {
       Host => 'svrb-dc1',
       BaseDN => 'CN=Users,DC=domain,DC=local',
       SSCOPE => 'sub',
       UserDN =>'otrs_ldap',
       UserPw => 'PASS',
     },
 # customer unique id
     CustomerKey => 'sAMAccountName',
     # 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' ],
     ],
   };
   
 #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
 #example: $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=BaseOU, dc=example, dc=com';
   $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS_ACCESS_C,OU=Sicherheitsgruppen,OU=Gruppen,DC=domain,DC=local';
   $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
   $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN'
   
   
KlausNehrer
Znuny ninja
Posts: 1312
Joined: 25 May 2012, 08:51
Znuny Version: OTRS 4
Real Name: Klaus Nehrer

Re: Customer ActiveDirectory Authentication

Post by KlausNehrer »

Was sind Ticketstati? Kann man die essen?

Was bedeutet, Du kommst nicht weiter? Logs? Fehlermeldungen?
Die UserDN schon im LDAP- oder E-Mail-Format versucht?
Jojo117
Znuny newbie
Posts: 57
Joined: 06 Dec 2013, 10:37
Znuny Version: 5.0.11

Re: Customer ActiveDirectory Authentication

Post by Jojo117 »

Würde sagen das man einen Ticketstatus nicht essen kann, aber da bin ich kein Fachmann.

Mit Ticketstatus meine ich den aktuellen Bearbeitungsstatus eines Tickets.

Beispiel Problem: Drucker funktioniert nicht

Bearbeitungsstatus: Verbindung zu Druckserver funktioniert, Check von Client bzgl. Verbindungsproblemen, lokaler Spoolerdienst, etc.



Ich komme in dem Sinne nicht weiter, dass es mir nicht möglich ist, mit der aktuellen Config.pm -Konfiguration, meine Kollegen, die uns die Problemfälle ins Ticketsystem schicken, über ihren jeweiligen AD-Account im Customer Bereich authentifizieren zu können.

Fehlermeldung beim Anmeldeversuch im Customer Bereich: Login failed! Your user name or password was entered incorrectly.

Bevor jetzt jemand sagt, das Passwort stimmt nicht - es stimmt. Das Problem muss an anderer Stelle liegen...
KlausNehrer
Znuny ninja
Posts: 1312
Joined: 25 May 2012, 08:51
Znuny Version: OTRS 4
Real Name: Klaus Nehrer

Re: Customer ActiveDirectory Authentication

Post by KlausNehrer »

Was ein Ticketstatus ist, ist mir geläufig. Ticketstati klang sehr exotisch, scheint bei euch aber irgendwie was miteinander zu tun zu haben.

Zu Deinem Problem: Bitte erwarte nicht, dass ich meine Fragen jetzt wiederhole. Solltest Du passende Antworten haben, könnte man Deinen Problemen auf die Schliche kommen ...
Jojo117
Znuny newbie
Posts: 57
Joined: 06 Dec 2013, 10:37
Znuny Version: 5.0.11

Re: Customer ActiveDirectory Authentication

Post by Jojo117 »

Tatsächlich ist der korrekte Plural "Status" :lol: "Stati" klang für mich fast sinnvoll...

Habe auch endlich Auszüge aus der Log-Datei:
[Mon Nov 9 15:04:27 2015][Error][Kernel::System::CustomerUser::LDAP::CustomerName][252] Search failed! Can't contact LDAP server
[Mon Nov 9 15:04:31 2015][Error][Kernel::System::CustomerUser::LDAP::_Connect][198] First bind failed! 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580
[Mon Nov 9 15:04:34 2015][Error][Kernel::System::CustomerUser::LDAP::_Connect][198] First bind failed! 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580
[Mon Nov 9 15:04:34 2015][Error][Kernel::System::CustomerUser::LDAP::CustomerUserDataGet][768] Can't contact LDAP Server
Fehlermeldung beim Versuch der Anmeldung im Customer Bereich:

Login failed! Your user name or password was entered incorrectly.

Hab die UserDN schon im LDAP bzw. EMail Format getestet, das war allerdings nicht die Lösung..
Jojo117
Znuny newbie
Posts: 57
Joined: 06 Dec 2013, 10:37
Znuny Version: 5.0.11

Re: Customer ActiveDirectory Authentication

Post by Jojo117 »

Hab den "SEARCH FAILED - Cant connect to LDAP Fehler gelöst in dem ich, wie du gesagt hattest nochmal die UserDN im LDAP Format geschrieben hab. Hatte mich scheinbar das letzte mal vertippt. Danke schon mal für den Denkanstoß! :)

Jetzt bekomme ich auch eine neue Fehlermeldung und neue Log-Einträge...kann mir da jemand weiterhelfen, was zu tun ist? Hab ich vergessen den Nutzer mit in eine Gruppe aufzunehmen?

Danke im Voraus!


Fehlermeldung bei Login im Customer Bereich:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator.

Log-Einträge:
[Mon Nov 9 16:04:49 2015][Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: *USER* (CN=*NAME*,OU=IT,OU=*OU*,DC=domain,DC=local) authentication ok (REMOTE_ADDR: *IP-Adresse*).
[Mon Nov 9 16:04:49 2015][Error][Kernel::System::CustomerUser::SetPreferences][570] No such user '*USER*'!
Jojo117
Znuny newbie
Posts: 57
Joined: 06 Dec 2013, 10:37
Znuny Version: 5.0.11

Re: Customer ActiveDirectory Authentication

Post by Jojo117 »

Frohe Botschaft! Alles scheint zu funktionieren..ich musste lediglich den Host als FQDN und die BaseDN vereinfachen...

Danke für die Hilfe KlausNehrer :D Das korrekte LDAP Format hat den Stein ins rollen gebracht!

Hier noch der bei mir funktionierende Config.pm LDAP-Bereich Auszug:

Code: Select all


	#Enable LDAP authentication for Customers / Users
   $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
   $Self->{'Customer::AuthModule::LDAP::Host'} = 'svrb-dc1';
   $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=domain,DC=local';
   $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';

#The following is valid but would only be necessary if the
 #anonymous user do NOT have permission to read from the LDAP tree
   $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=otrs ldap,CN=Users,DC=domain,DC=local';
   $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'PASS';

#CustomerUser
 #(customer user database backend and settings)
     $Self->{CustomerUser} = {
       Module => 'Kernel::System::CustomerUser::LDAP',
       Params => {
       Host => 'svrb-dc1.domain.local',
       BaseDN => 'DC=domain,DC=local',
       SSCOPE => 'sub',
       UserDN =>'CN=otrs ldap,CN=Users,DC=domain,DC=local',
       UserPw => 'PASS',
     },
 # customer unique id
     CustomerKey => 'sAMAccountName',
     # 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' ],
     ],
   };
   

   $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=SG_OTRS_ACCESS_C,OU=OU,DC=domain,DC=local';
   $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
   $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN'
   
Post Reply