Show TOC

HintergrundAnlegen neuer Benutzer Dieses Dokument in der Navigationsstruktur finden

 

Eine spezielle Seite create.htm dient zum Anlegen neuer Benutzer. Eine entsprechende Prüfung in der Initialisierung der Seite kann sicherstellen, dass nur ein Administrator diese Seite aufrufen kann. Auf dieser Seite werden die benötigten Daten des neuen Benutzers abgefragt.

Hinweis Hinweis

Die Berechtigungsprüfung beim Funktionsaufruf stellt grundsätzlich sicher, dass keine unberechtigen Personen neue Internet-Benutzer anlegen können. Sinnvollerweise sollte die Seite für diesen Personenkreis jedoch auch gar nicht erst zugänglich sein.

Ende des Hinweises.

Im OnInputProcessing der Seite wird der Funktionsbaustein SUSR_USER_INTERNET_CREATE aufgerufen, der den neuen Internet-Benutzer anlegt. Hierbei wird der INT_USER als Referenz- Benutzer verwendet, so dass der neu angelegte Internet- Benutzer dessen Berechtigungen erhält. Der abgefragte Benutzername wird als Alias verwendet, ein SU01- Benutzer wird von dem Baustein generiert.

Seitenattribute

Attributname

Auto

Typisierungsart

Bezugstyp

Beschreibung

err_msg

TYPE

STRING

Error message

Layout

Syntax Syntax

  1. <%@ page language="abap" %>
    <html>
      <body>
      <h3> Create new user </h3>
      <form>
        <table>
          <tr>
            <td> User Name </td>
            <td> <input type=text name="username"></td>
          </tr>
          <tr>
            <td> Password </td>
            <td> <input type=password name="pwd1"> </td>
          </tr>
          <tr>
            <td> verify Pwd</td>
            <td> <input type=password name="pwd2"> </td>
          </tr>
          <tr>
            <td> First Name </td>
            <td> <input type=test name="firstname"> </td>
          </tr>
          <tr>
            <td> Last Name </td> 
            <td> <input type=test name="lastname"> </td>
          </tr>
          <tr>
            <td> Email </td>
            <td> <input type=test name="email"> </td>
          </tr>
          <tr>
            <td></td>
            <td> <input type=submit name="OnInputProcessing(create)" value="logon">
                 <input type=submit name="OnInputProcessing(reset)" value="reset">
            </td>
        </tr>
      </table>
    </form>
    </body>
    </html>
Ende des Codes
Eventhandler OnInputProcessing

Syntax Syntax

  1. data: newuser type bapialias,
    pwd1 type bapipwd,
    pwd2 type bapipwd,
    refuser type bapibname,
    address type bapiaddr3,
    newuserid type bapibname.
    
    data: return    type table of bapiret2,
    wa_return type bapiret2.
    
    newuser = request->get_form_field( 'newuser' ).
    pwd1 = request->get_form_field( 'pwd1' ).
    pwd2 = request->get_form_field( 'pwd2' ).
    address-firstname = request->get_form_field( 'firstname' ).
    address-lastname = request->get_form_field( 'lastname' ).
    address-e_mail = request->get_form_field( 'email' ).
    refuser = 'INT_USER'.
    CALL FUNCTION 'SUSR_USER_INTERNET_CREATE'
    EXPORTING
    ALIAS = newuser
    PASSWORD = pwd1
    PASSWORD2 = pwd2
    ADDRESS = address
    REF_USER = refuser
    IMPORTING
    GENERATED_BNAME = newuserid
    TABLES
    RETURN = return
    loop at return into wa_return.
    concatenate err_msg ' <br> ' wa_return-message into err_msg.
    endloop.
Ende des Codes

Je nach Einsatzzweck können natürlich auch verschiedene Referenz- Benutzer verwendet werden. Damit ist es möglich, Szenarien zu erstellen, bei denen bevorzugte Internet- Benutzer das Recht haben, weitere Internet- Benutzer anzulegen.

Denkbar sind auch Anwendungen, in denen sich neue User selber anlegen und registrieren können. In diesem Fall müsste der Gast- Benutzer mit dem die öffentlichen Seiten angezeigt werden, die Berechtigung zum Anlegen von Internet-Usern besitzen.