Die Login-Seite
login.htm ist offen unter dem Account des INT_GUEST Accounts zugänglich. Die Seite enthält eine Usernamen- und Passwort-Abfrage. Im OnInputProcessing der Seite wird der Funktionsbaustein SUSR_INTERNET_USERSWITCH aufgerufen, der zum entsprechenden Benutzer wechselt. Alle folgenden Schritte finden dann unter dem Accout des angemeldeten Users statt.Seitenattribute
Attributname |
Auto |
Typisierungsart |
Bezugstyp |
Beschreibung |
err_msg |
TYPE |
STRING |
Error message |
Layout
<%@ page language="abap" %>
<html>
<body>
<h3> Login </h3>
<%= err_msg %>
<form>
<table>
<tr>
<td> User </td>
<td> <input type=text name="username"> </td>
<td></td>
</tr>
<tr>
<td> Password </td>
<td> <input type=password name="password"> </td>
<td> <input type=submit name="OnInputProcessing" value="login"> </td>
</tr>
</table>
</form>
</body>
</html>
Eventhandler OnInputProcessing
data: usr type bapialias,
pwd type bapipwd.
data: return type table of bapiret2,
wa_return type bapiret2,
bname type USUSERNAME.
usr = request->get_form_field( 'username' ).
pwd = request->get_form_field( 'password' ).
CALL FUNCTION 'SUSR_INTERNET_USERSWITCH'
EXPORTING
ALIAS = usr
PASSWORD = pwd
IMPORTING
BNAME_AFTER_SWITCH = bname
TABLES
RETURN = return.
.
loop at return into wa_return.
err_msg = wa_return-message.
endloop.
if bname is not initial.
navigation->goto_page( 'userdata.htm' ).
endif.
Nach gültiger Anmeldung wird im Beispiel wieder die Eingangsseite angezeigt, die jetzt unter dem Account des angemeldeten Benutzers aufgerufen wird. Schlägt die Anmeldung fehl, wird die Seite erneut angezeigt, wobei die Fehlermeldung aus der return-Struktur des Aufrufs ausgegeben werden kann.