OTRS CVS - Handbuch
Prev | Chapter 10. Kunden (min. OTRS 1.1) | Next

# Kundenbenutzer-Backend

Es existieren zwei Kundenbenutzer-Backends, DB und LDAP. Falls Sie bereits ein Kunden-Verzeichnis (z.B. SAP, ...) haben, ist es natürlich möglich, dafür ein eigenes Backend zu schreiben.

Notiz: Es is auch möglich mehr als einen Kunden-Daten Topf zu definieren. Einfach eine weitere Konfig Option wie "CustomerUser" mit einer Nummer zwischen 1 und 10. Zum Beispiel "CustomerUser1".

## Datenbank (Standard)

Dies ist ein Beispiel für ein Datenbank-Backend.

        [Kernel/Config.pm]
        # CustomerUser
        # (customer user database backend and settings)
        $Self->{CustomerUser} = {
            Name => 'Datenbank Quelle',
            Module => 'Kernel::System::CustomerUser::DB',
            Params => {
                # if you want to use an external database, add the
                # required settings
    #            DSN => 'DBI:odbc:yourdsn',
    #            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
    #            User => '',
    #            Password => '',
                Table => 'customer_user',
            },
            # customer uniq id
            CustomerKey => 'login',
            # customer #
            CustomerID => 'customer_id',
            CustomerValid => 'valid_id',
            CustomerUserListFields => ['login', 'first_name', 'last_name', 'email'],
            CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
            CustomerUserPostMasterSearchFields => ['email'],
            CustomerUserNameFields => ['salutation', 'first_name', 'last_name'],
            Map => [
                # note: Login, Email and CustomerID needed!
                # var, frontend, storage, shown, required, storage-type, http-link
                [ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var' ],
                [ 'UserFirstname', 'Firstname', 'first_name', 1, 1, 'var' ],
                [ 'UserLastname', 'Lastname', 'last_name', 1, 1, 'var' ],
                [ 'UserLogin', 'Login', 'login', 1, 1, 'var' ],
                [ 'UserPassword', 'Password', 'pw', 0, 1, 'var' ],
                [ 'UserEmail', 'Email', 'email', 0, 1, 'var' ],
    #            [ 'UserEmail', 'Email', 'email', 1, 1, 'var', '$Env{"CGIHandle"}?Action=\
    AgentCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}' ],
                [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var' ],
                [ 'UserComment', 'Comment', 'comment', 1, 0, 'var' ],
                [ 'ValidID', 'Valid', 'valid_id', 0, 1, 'int' ],
            ],
        };
        [...]

Falls Sie Ihre Kundendaten anpassen möchten, ändern Sie die Tabellenspalten oder fügen Sie weitere hinzu:

    ALTER TABLE customer_user ADD phone VARCHAR (250);

Danach fügen Sie Ihre eigenen Spalten dem MAP Array hinzu:

                # var, frontend, storage, shown, required, storage-type, http-link
                [ 'UserPhone', 'Phone', 'phone', 1, 0, 'var' ],

Natürlich können Sie all diese Kundeninformationen dann auch über das Admin-Interface pflegen.

## LDAP

Falls Sie ein existierendes LDAP-Verzeichnis mit Ihren Kunden-Benutzern haben, sind Sie in der Lage, dieses auch in OTRS zu nutzen.

Dies ist ein Beispiel für ein LDAP-Backend.

        [Kernel/Config.pm]
        # CustomerUser
        # (customer user ldap backend and settings)
        $Self->{CustomerUser} = {
            Name => 'LDAP Quelle',
            Module => 'Kernel::System::CustomerUser::LDAP',
            Params => {
                # ldap host
                Host => 'bay.csuhayward.edu',
                # ldap base dn
                BaseDN => 'ou=seas,o=csuh',
                # search scope (one|sub)
                SSCOPE => 'sub',
                # The following is valid but would only be necessary if the
                # anonymous user does NOT have permission to read from the LDAP tree
                UserDN => '',
                UserPw => '',
            },
            # customer uniq id
            CustomerKey => 'uid',
            # customer #
            CustomerID => 'mail',
            CustomerUserListFields => ['uid', 'cn', 'mail'],
            CustomerUserSearchFields => ['uid', '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', 'uid', 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' ],
            ],
        };
        [...]

Falls Sie Ihre Kundendaten anpassen möchten, fügen Sie Ihre neuen Punkte dem MAP Array hinzu (oder entfernen Sie nicht benötigte Punkte):

                # var, frontend, storage, shown, required, storage-type, http-link
                [ 'UserOrganisation', 'Organisation', 'ou', 1, 0, 'var' ],

Prev | Home | Next
Kunden (min. OTRS 1.1) | Up | Kunden-Authentifizierungs-Backend