customer self-registration

Allgemein Fragen, deutsche News, Ankündigungen & Events zum OTRS
Post Reply
dennisa
Znuny newbie
Posts: 9
Joined: 02 Apr 2013, 16:03
Znuny Version: 3.2.3
Real Name: Dennis

customer self-registration

Post by dennisa »

Hallo,
ich habe auf einem Ubuntu-Server OTRS 3.2.3 installiert, es funktioniert soweit auch gut, via ldap ans ad Funktioniert, Rechte vergabe funktioniert etc. Ich kann mich fast nicht beklagen.
Was für mich jedoch ein Problem darstellt: Ich möchte Kunden die Möglichkeit geben sich selbst zu registrieren, jedoch lässt sich das Customer-Webinterface nicht so anzeigen, wie ich es in den docs sehe.
Dort wird mir gezeigt, dass dort Links sein sollte wie "Sign Up" oder "Lost Password?". In der SysConfig habe ich auch die Module "Framework::Frontend::Customer::CustomerPanelCreateAccount" und "Framework::Frontend::Customer::CustomerPanelLostPassword" aktiviert(waren von Anfang an aktiviert), also auf Ja gestellt. Es wird aber nichts dergleichen angezeigt.
Vielleicht stehe ich auch auf dem Schlauch, aber egal wo ich nachlese, ich finde nur, dass ich die beiden erwähnten Module aktivieren soll, damit das geht. bzw. ich soll sie zum abstellen der Funktion deaktivieren.

Ich hoffe es ist ein kleines Problem, was ich einfach nicht erkenne und DU kannst mir helfen.

Mit freundlichen Grüßen

Dennis
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: customer self-registration

Post by jojo »

Selbst Registrierung ist nur möglich wenn die Kunden in einer (lokalen) Datenbank sind. Nicht per LDAP
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dennisa
Znuny newbie
Posts: 9
Joined: 02 Apr 2013, 16:03
Znuny Version: 3.2.3
Real Name: Dennis

Re: customer self-registration

Post by dennisa »

Hey jojo,

danke dir für die schnelle Antwort.
Ich dachte beides ist möglicht. z. B. wenn er im LDAP keinen Eintrag findet, guckt er in der Lokalen DB nach, wenn das Modul zur Selbstregistrierung aktiviert ist.
Falls du weißt ob in dieser Richtung noch etwas zu machen ist, wäre ich für jeden Hinweis dankbar.

Mit freundlichen Grüßen

Dennis
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: customer self-registration

Post by jojo »

zeig mal die entsprechenden Stellen der Config.pm
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dennisa
Znuny newbie
Posts: 9
Joined: 02 Apr 2013, 16:03
Znuny Version: 3.2.3
Real Name: Dennis

Re: customer self-registration

Post by dennisa »

Die Customer1 Funktion funktioniert, ich möchte gerne noch eine Customer2 Methode mit reinnehmen damit ich noch von der Datenbank Nutzer laden kann:

Code: Select all

    $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} = 'www.example.de';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = ',dc=example,dc=de';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=grpname,ou=grp,dc=example,dc=de';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';

    $Self->{'Customer::AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
    };

 $Self->{CustomerUser1} = {
    Name => 'LDAP Datasource',
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => 'stardust.fokus.fraunhofer.de',
      BaseDN => 'ou=grp,dc=example,dc=de',
      SSCOPE => 'sub',
      UserDN => 'cn=grpname,ou=grp,dc=example,dc=de',
      UserPw => 'password',
      Params => {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
         },
    },
    CustomerKey => 'sAMAccountName',
    CustomerID => 'mail',
    CustomerUserListFields => [ 'sn', 'mail'],
    CustomerUserSearchFields => ['sAMAccountName', 'sn', 'mail'],
    CustomerUserSearchPrefix =>'',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 750,
    CustomerUserPostMasterSearchFields => ['mail'],
    CustomerUserNameFields => ['givenname', 'sn'],
    Map => [
  # note: Login, Email and CustomerID are mandatory!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
        [ 'UserTitle',      'Title',      'title',           1, 0, 'var', '', 0 ],
        [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'sAMAccountName',  1, 1, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
#        [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
#        [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
#        [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
#        [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
    ],
  };
Zu dem Oberen muss ich denke ich nichts sagen um den geht es auch nicht, der funktioniert soweit auch. Jetzt kommt der 2. Teil, wenn ich den mit in die Config nehme bekomme ich einen Internal Server Error(jetzt gerade das Problem: die Umsetzung der Idee (wenn es sich überhaupt umsetzen lässt)):

Code: Select all

$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table'} = 'customer_user';
$Self->{'Customer::AuthModule::DB::CustomerKey'} = 'login';
$Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'pw';
#$Self->{'Customer::AuthModule::DB::DSN'} = "DBI:mysql:database=otrs;host=localhost";
#$Self->{'Customer::AuthModule::DB::User'} = "user";
#$Self->{'Customer::AuthModule::DB::Password'} = "pw";
$Self->{CustomerUser2} = {
        Name => 'Database Datasource',
        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',
            # if your frontend is unicode and the charset of your
            # customer database server is iso-8859-1, use these options.
#           SourceCharset => 'iso-8859-1',
#           DestCharset => 'utf-8',

            # CaseSensitive will control if the SQL statements need LOWER()
            #   function calls to work case insensitively. Setting this to
            #   1 will improve performance dramatically on large databases.
            CaseSensitive => 0,
        },
        # customer unique id
        CustomerKey => 'login',

        # customer #
        CustomerID => 'customer_id',
        CustomerValid => 'valid_id',
        CustomerUserListFields => ['first_name', 'last_name', 'email'],
        CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['title','first_name','last_name'],
#       CustomerUserEmailUniqCheck => 1,
#    # show not own tickets in customer panel, CompanyTickets
#    CustomerUserExcludePrimaryCustomerID => 0,
#    # generate auto logins
#    AutoLoginCreation => 0,
#    AutoLoginCreationPrefix => 'auto',
#    # admin can change customer preferences
#    AdminSetPreferences => 1,
#    # cache time to live in sec. - cache any database queries
#    CacheTTL => 0,
#    # just a read only source
#    ReadOnly => 1,
    Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
        [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
        [ 'UserFirstname',  'Firstname',  'first_name', 1, 1, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'last_name',  1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'login',      1, 1, 'var', '', 0 ],
        [ 'UserPassword',   'Password',   'pw',         0, 0, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],

#        [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],

#        [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
#        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
#        [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
#        [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
#        [ 'UserStreet',       'Street',      'street',       1, 0, 'var', '', 0 ],
#        [ 'UserZip',          'Zip',         'zip',          1, 0, 'var', '', 0 ],
#        [ 'UserCity',         'City',        'city',         1, 0, 'var', '', 0 ],
#        [ 'UserCountry',      'Country',     'country',      1, 0, 'var', '', 0 ],
#        [ 'UserComment',      'Comment',     'comments',     1, 0, 'var', '', 0 ],
#        [ 'ValidID',          'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
    ],
    # default selections
    Selections => {
        UserTitle => {
            'Mr.' => 'Mr.',
            'Mrs.' => 'Mrs.',
        },
    },
};
Wenn du dazu Ideen hast, oder mir sagen kannst ob ich von der Idee her schon auf dem Holzweg bin, wäre ich sehr dankbar

Mit freundlichen Grüßen

Dennis
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: customer self-registration

Post by jojo »

den 2. Teil brauchst Du nicht, er ist ja schon vorhanden (über die Defaults.pm). Die LDAP Quelle ist ja so definiert das Du die interne DB nicht überschreibst
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dennisa
Znuny newbie
Posts: 9
Joined: 02 Apr 2013, 16:03
Znuny Version: 3.2.3
Real Name: Dennis

Re: customer self-registration

Post by dennisa »

Ok, danke dir!
Ich hab das jetzt fast den ganz Tag dran gesessen.
Also geht es bei der derzeitigen Implementation von OTRS wirklich in keiner Weise, die lokale DB und ldap zu nutzen?
Oder muss ich das ganze nur anders angehen?

Mit freundlichen Grüßen

Dennis
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: customer self-registration

Post by jojo »

doch Du kannst beide nutzen, nur die Selbstregistrierung geht nicht
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dennisa
Znuny newbie
Posts: 9
Joined: 02 Apr 2013, 16:03
Znuny Version: 3.2.3
Real Name: Dennis

Re: customer self-registration

Post by dennisa »

Also die Customer2 funktion kommt raus.
Wie sage ich ihm jetzt, dass er auch in der Datenbank suchen soll?
Nachdem ich ihm mit LDAP habe suchen lassen, sollte er dann noch die DB durchsuchen.
Den Nutzer habe ich jetzt via Webinterface angelegt, jedoch guckt er nur im LDAP-Verzeichnis. Die lokale DB guckt er sich nichtmal an, er sagt mir nur (in /var/lolg/syslog), dass er im LDAP-Verzeichnis, diesen Nutzer nicht finden konnte.

Muss ich da via Webinterface etwas einstellen, oder noch in der Config etwas ändern?

p.s. Nutzern in zwei verschiedenen Verzeichnissen, kann ich auch verschiedene Rechte zuweisen, aber nur via LDAP. Das mit der DB will mir nicht in den Kopf.

Mit freundlichen Grüßen

Dennis
Franyer
Znuny newbie
Posts: 1
Joined: 22 Mar 2018, 17:33
Znuny Version: 6.0.6
Real Name: Franyer
Company: MetaBiblioteca

Re: customer self-registration

Post by Franyer »

Hello my name is Franyer, how add field addres, company on form customer self-registration.
attachment printf screen of form.
You do not have the required permissions to view the files attached to this post.
Post Reply