Berechtigungsprüfung in ABAP

Auch in eigenen, in ABAP entwickelten Programmen sollte immer eine Berechtigungsprüfung erfolgen. Dreh- und Angelpunkt ist hier das ABAP Sprachkonstrukt AUTHORITY-CHECK. Mit AUTHORITY-CHECK kann die Prüfung durchgeführt werden, ob der Benutzer in seinem Benutzerstammsatz über eine Berechtigung verfügt, welche die im AUTHORITY-CHECK angegebenen Bedingungen erfüllt. Sind alle Bedingungen erfüllt, liefert AUTHORITY-CHECK den Returcode 0. Nur in diesem Fall sollte Ihr Programm dem ausführenden Benutzer die gewünschte Operation erlauben.

Ein Beispiel um zu überprüfen, ob eine Transaktion gestartet werden darf oder nicht:

Der Parameter „ID“ steht für das zu überprüfende Berechtigungsfeld. In dem Beispiel ist es das Feld „TCD“ und steht für „Transaktionscode“. Der abzuprüfende Wert im Parameter „TA“ wird mit dem Parameter „FIELD“ übergeben.

Für diesen speziellen Fall, der Überprüfung der Berechtigung zur Ausführung einer Transaktion gibt es sogar einen eigenen Funktionsbaustein, den man nutzen sollte: „AUTHORITY_CHECK_TCODE“.


ABAP Authority Check

Der SAP Sicherheitsexperte Andreas Wiegenstein hat in seinem Beitrag 10 „goldene Regeln“ zusammengestellt, die man bei der Verwendung der Berechtigungsprüfung in eigenen ABAPs unbedingt berücksichtigen sollte.

Hier der Link zu diesem wirklich lesenswerten Artikel

„Ten golden rules for coding authorization checks in ABAP“.


Autor: Oliver Fischer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

− 1 = 3