guck mal hier

Am 4. Mai 2012 10:11 schrieb Christian Kreis <[email protected]
>:

> Hallo zusammen,
>
> kann mir jemand Tipps geben wie ich in OTRS eine AD-Anbindung hinbekomme?
> Da wir eine Service-Abteilung sind die nur externen Kunden Support
> anbietet, gilt die AD-Anbindung natürlich nur für unsere Agenten.
>
> Das hier hab ich schon gefunden:
> $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
>  $Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.1.11';
> $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain, dc=com';
>  $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
> $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'Suchbenutzer';
>  $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} =
> 'Suchbenutzer_Passwort';
>
> $Self->{CustomerUser} = {
> Module => 'Kernel::System::CustomerUser::LDAP',
>  Params => {
> Host => '192.168.1.11',
> BaseDN => 'dc=domain, dc=com',
>  SSCOPE => 'sub',
> UserDN => 'Suchbenutzer',
> UserPw => 'Suchbenutzer_Passwort',
>  },
> CustomerKey => 'sAMAccountName',
> CustomerID => 'mail',
> CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
>  CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
> 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' ],
>  ],
> };
>
> Host wird mit eurem Active Directory Server ersetzt. Es ist sicherer
> hierbei die IP und nicht einen DNS-Namen einzugeben.
>
> BaseDN wird folgendermaßen ersetzt: Angenommen eure Domain heißt
> 'firma.lokal' müsse es dc=firma dc=lokal lauten.
>
> UID darf nicht verändert werden. Diese ist zur korrekten Funktion
> unerlässlich.
>
> Als SearchUserDN könnt ihr einen x-beliebigen Active Directory Benutzer
> wählen. Wir haben extra einen neuen eingerichtet und ihm ein eigenes
> Exchange-Postfach verpasst, damit man E-Mails an diesen fiktiven User
> schreiben kann und sie sofort als Ticket erfasst werden.
>
> In wie weit kann ich das einfach in meine Config.pm kopieren? Und was muss
> ich da noch alles anpassen?
>
> Danke schon mal.
>
> Gruß
> Chris
>
> ---------------------------------------------------------------------
> OTRS mailing list: otrs-de - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/otrs-de
> To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
>
# Hallo Admins,

# bei mir hat es ziemlich lange gedauert bis ich eine LDAP Anbindung 
hinbekommen habe.
# Es hat mich viele Stunden Recherche und bestimmt einige Jahre meines Lebens 
gekostet:-)
# Das versuche ich euch hiermit zu ersparen.
# eine LDAP für Dummies gabs schonmal aber diese hier ist ein bißchen 
aufgeräumter:-)

# Das alles hab ich im OTRS- Forum (http://forums.otrs.org/) und er Mailing- 
Liste (http://www.otrs.org/lists/) gelernt und versuch es hier mal etwas 
zusammen zu raffen.
# Im handbuch Version 3.1 ist es aber mittlerweile auch sehr gut beschrieben. 
Entweder war es inden vorangegangenen Versionen nicht so klar beschrieben oder 
ich verstehe es erst jetzt:-)

# Um LDAP erstmal grundlegend zu verstehen hat mir diese Seiten hier sehr 
geholfen.
# Lest euch das mal durch... das spart sehr viel Zeit und viele Fehlversuche.

# http://www.selfadsi.de/ldap-path.htm#DNs
# http://www.selfadsi.de/bind.htm
# http://www.selfadsi.de/search.htm


# ladet euch einem LDAP- Browser runter z.B. hier 
http://www.ldapadministrator.com/
# damit wird es wesentlich einfacher
# und vielleicht einen anständigen Editor, ich hab Notepad++, hilft auch viele 
Tippfehler (vergessene ' usw.) zu vermeiden.

# In diesem Sinne hier eine Beispielconfig die euch hoffentlich bei der LDAP 
Anbindung hilft. 
# Ich werd Sie mit Kommentaren vollmüllen damit die einzelnen Punkte klarer 
werden, zumindest hat es da bei mir gehakt...
# Diese Config ist bestimmt nicht perfekt und kann sicherlich noch verbessert 
werden, aber sie funtioniert:-)


# Hier steht überall 1 hinter (AuthModule1, Host1, ...) 
# habe ich drin gelassen weil ich mehrere ADs abfrage und auch mehrere Firmen 
im OTRS habe
# wenn ihr nur eine habt kann die 1 überall weg. Ansonsten müsst ihr den ganzen 
Block halt pro Firma anlegen und einfach durchnummerieren

# Aber hier steht ein wichtiger Beitrag von jojo
# http://forums.otrs.org/viewtopic.php?f=17&t=7423
# da bin ich auch drauf reingefallen bezüglich der Nummerierung, muss man halt 
erst mal wissen:-)

# ich hab in dieser Versionmal eine zweite Abfrage drin gelassen, damit man 
sieht wie es sich aufbaut.


#$Self->{'AuthModule::LDAP::Host1'} = 'dc.Firma1.local';
#...
#...
#...

#$Self->{'AuthModule::LDAP::Host2'} = 'dc.Firma2.local'; 
#...
#...
#...


#Bei uns sind es aktuell fünf aber es wiederholt sich immer nur, also:
#$Self->{'AuthModule::LDAP::Host4'} = 'dc.Firma1.local';
#...
#...
#...

#$Self->{'AuthModule::LDAP::Host4'} = 'dc.Firma2.local'; 
#...
#...
#...
# usw.






#--------------------------------------------------------------------------------------------
#                                            Firma1                             
           #
#--------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------
#                                   Agenten Authentifizeirung                   
            #
#--------------------------------------------------------------------------------------------
$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = 'dc.Firma1.local'; #hier kann auch die IP 
des DCs stehen. aber sinvollerweise hat man ja mehr als einen:-)
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=Firma1,dc=local';# lest euch die 
Seiten die ich oben verlinkt habe durch,
# dann wird DN,OU, DC usw. alles klar:-) 
$Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
 #$Self->{'AuthModule::LDAP::GroupDN1'} = 
'CN=otrsagents,OU=Gruppen,DC=Firma,DC=local';       # nur Mitlieder dieser 
Gruppe dürfen sich einloggen, ich habs auskommentiert weil ich es bei uns nicht 
filtere.
 #$Self->{'AuthModule::LDAP::AccessAttr1'} = 'member';                          
              # bei 2008er Domänen ist es 'member' bei 2003er ist es 
'memberUID'*
$Self->{'AuthModule::LDAP::SearchUserDN1'} = '[email protected]';  # hier 
geht es auch mit dem user Principal Name, 
        # oder eben die DN des Bindusers, war bei mir ne böse Falle weil ich es 
nicht wörtlich genug genommen habe. Die SearchUserDN ist nicht die DN 
        # in der der User liegt sondern die eindeutige des Users, das gleiche 
gilt für die GroupDNs
        # der Search User muss Mitglied in "Domänen-Benutzer" und in 
"Windows-Authentifizierungszugriffgruppe" sein
        # sähe dann ungefähr so aus
#$Self->{'AuthModule::LDAP::SearchUserDN1'} = 
'CN=otrsldap,CN=Users,DC=Firma1,DC=local'; 

$Self->{'AuthModule::LDAP::SearchUserPw1'} = 'Password';
#--------------------------------------------------------------------------------------------
#                                  Kunden Authentifizeirung                     
            #
#--------------------------------------------------------------------------------------------
  $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
  $Self->{'Customer::AuthModule::LDAP::Host1'} = 'dc.Firma1.local';
  $Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'DC=Firma1, DC=local';
  $Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
                #$Self->{'Customer::AuthModule::LDAP::GroupDN1'} = 
'CN=otrscustomer,CN=Users,DC=Firma,DC=local'; 
                # 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'} = 
'[email protected]';
  $Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'Password';
#--------------------------------------------------------------------------------------------
 
#                                     Kundendaten                               
            #
#--------------------------------------------------------------------------------------------
   $Self->{CustomerUser1} = {
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => 'dc.Firma1.local',
      BaseDN => 'DC=Firma1, DC=local',# hier die DN in der eure User liegen, 
kommt halt drauf an wie eurer AD strukturiert ist
      SSCOPE => 'sub',
      UserDN => '[email protected]',
      UserPw => 'Passwort123',
          AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma1.de))',
                # falls ihr was ausschliessen wollt geht das mit 
(!(ausgeschlossenes Attribut)):
                # AlwaysFilter =>  
'(&(objectclass=user)(mail=*.*@Firma.de)(!((was auch immer)))',
    },
    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' ],
    ],
  };


 
#--------------------------------------------------------------------------------------------
 #                                      Firma1 Ende                             
            #
 
#--------------------------------------------------------------------------------------------
 
 
 
 # Das wars:-)
 # Ich hoffe es hilft euch ein bißchen.
 # Konstruktive Kritik und Feedback sind natürlich immer willkommen!
 
 
 
 
 # Hier noch die zweite "Abfrage" mal ohne Kommnetare (machst direkt 
übersichtlicher:-)).  
 
#--------------------------------------------------------------------------------------------
#                                            Firma2                             
           #
#--------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------
#                                   Agenten Authentifizeirung                   
            #
#--------------------------------------------------------------------------------------------
$Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host2'} = 'dc.Firma2.local'; 
$Self->{'AuthModule::LDAP::BaseDN2'} = 'dc=Firma2,dc=local';
$Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN2'} = '[email protected]';
$Self->{'AuthModule::LDAP::SearchUserPw2'} = 'Password2';
#--------------------------------------------------------------------------------------------
#                                  Kunden Authentifizeirung                     
            #
#--------------------------------------------------------------------------------------------
  $Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
  $Self->{'Customer::AuthModule::LDAP::Host2'} = 'dc.Firma2.local';
  $Self->{'Customer::AuthModule::LDAP::BaseDN2'} = 'DC=Firma2, DC=local';
  $Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
  $Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = 
'[email protected]';
  $Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = 'Password2';
#--------------------------------------------------------------------------------------------
 
#                                     Kundendaten                               
            #
#--------------------------------------------------------------------------------------------
   $Self->{CustomerUser2} = {
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => 'dc.Firma2.local',
      BaseDN => 'DC=Firma2, DC=local',
      SSCOPE => 'sub',
      UserDN => '[email protected]',
      UserPw => 'Password2',
          AlwaysFilter =>  '(&(objectclass=user)(mail=*.*@Firma2.de))',
    },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
    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' ],
          [ 'UserComment', 'Comment', 'facsimileTelephoneNumber', 1, 1, 'var' ],
#       [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
#       [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
    ],
  };
 
#--------------------------------------------------------------------------------------------

 
#--------------------------------------------------------------------------------------------
 #                                      Firma2 Ende                             
             #
 
#--------------------------------------------------------------------------------------------
 
 
 
 
 
 
---------------------------------------------------------------------
OTRS mailing list: otrs-de - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs-de
To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de

Antwort per Email an