Berechtigen eines externen Benutzers

Die Methode getSecurityRole() wird bei der Berechtigung verwendet, um die dem externen Benutzer zugeordnete Sicherheitsrolle festzulegen. Die für externe Benutzer verwendeten Sicherheitsrollen werden wie die Sicherheitsrollen für interne Benutzer konfiguriert.

/**
 * Durch die Implementierung dieser Methode soll die dem
 * externen Benutzer für Berechtigungszwecke zugeordnete Sicherheitsrolle
 * zurückgegeben werden. Wenn der Benutzer nicht existiert, soll "null"
 * zurückgegeben werden.
 *
 * @param identifier Die ID des externen Benutzers.
 *
 * @return Die Sicherheitsrolle für die Berechtigung.
 *
 * @throws AppException - Signatur für generische Ausnahme.
 * @throws InformationalException - Signatur für generische Ausnahme.
 */
String getSecurityRole(String identifier)
  throws AppException, InformationalException;

SDEJ ruft während des Berechtigungsprozesses eine Implementierung dieser Methode auf, wenn der Benutzer nicht im Sicherheitscache existiert. Im Sicherheitscache dürfen nur interne Benutzer vorhanden sein. Dies bedeutet, dass die für die Identifizierung externer Benutzer verwendeten IDs eindeutig sein müssen und nicht mit Benutzernamen kollidieren dürfen, die für interne Benutzer eingerichtet wurden, es sei denn, die in Benutzerbereich beschriebene angepasste Schnittstelle UserScope wurde implementiert. Ansonsten werden, falls es zu Benutzernamenskonflikten kommt, die dem internen Benutzer zugewiesenen Zugriffsrechte auch für den externen Benutzer verwendet.

Falls für den externen Benutzer keine Rolle bestimmt werden kann, muss "null" zurückgegeben werden, damit SDEJ den Berechtigungsfehler ordnungsgemäß melden kann.