Authentifizieren eines externen Benutzers

Mit der Methode authenticate() wird ein externer Benutzer authentifiziert. Diese Methode wird während des Authentifizierungsprozesses aufgerufen, wenn der Benutzer als externer Benutzer identifiziert wird. Im Fall von externen Benutzern wird diese Methode anstelle der konfigurierten Authentifizierung aufgerufen.

Anmerkung: Wenn ein alternativer Authentifizierungsmechanismus konfiguriert ist, z. B. LDAP, müssen sich die externen Benutzer für diesen Mechanismus authentifizieren können.
/**
   * Durch die Implementierung dieser Methode sollen die ID und
   * das Kennwort geprüft sowie das Ergebnis der Überprüfung zurückgegeben werden. Wenn die Informationen
   * gültig sind, soll der Code "SecurityStatus.LOGIN" der Codetabelle zurückgegeben werden.
   *
   * @param identifier Die ID des externen Benutzers.
   * @param password Das Kennwort als Zeichenfolge.
   * @param userType Der Typ des externen Benutzers.
   *
   * @return Der Status der Authentifizierung in Form eines Codetabellencodes.
   *
   * @throws AppException - Signatur für generische Ausnahme.
   * @throws InformationalException - Signatur für generische Ausnahme.
   */

  public abstract String authenticate(String identifier,
    char[] password, String userType)
    throws AppException, InformationalException;

Die Eingabeparameter für die Methode umfassen eine ID, das mittels Digest verschlüsselte Kennwort als Zeichenfolge und den Typ des zu authentifizierenden externen Benutzers.

Der Parameter userType soll mehrere Typen externer Benutzer unterstützen, für die unterschiedliche Authentifizierungsmechanismen erforderlich sind. Die Verwendung dieses Parameters ist von der angepassten Implementierung abhängig.

Das erwartete Ergebnis dieser Methode soll ein Eintrag aus der Codetabelle curam.util.codetable.SECURITYSTATUS sein. Im Fall einer erfolgreichen Authentifizierung muss das Ergebnis wie folgt lauten:

curam.util.codetable.SECURITYSTATUS.LOGIN

Für Authentifizierungsfehler enthält diese Codetabelle eine Reihe von Einträgen, darunter BADUSER, BADPWD und PWDEXPIRED. Diese Codetabelle kann so erweitert werden, dass angepasste Codes, wie im Handbuch Cúram Server Developer beschrieben, einbezogen werden.

Das durch diese Methode zurückgegebene Authentifizierungsergebnis wird automatisch in der Datenbanktabelle AuthenticationLog protokolliert. Weitere Informationen zu dieser Tabelle finden Sie im Handbuch Cúram Server Developer.

Mit der abstrakten Klasse PublicAccessUser werden außerdem die folgenden abstrakten Methoden definiert, die jede konkrete Unterklasse implementieren muss:

Weitere Informationen zu den oben beschriebenen Methoden finden Sie in der zugehörigen JavaDoc der Klasse PublicAccessUser.