Class AuthenticationFile

  • All Implemented Interfaces:
    UserProperties

    public final class AuthenticationFile
    extends java.lang.Object
    implements UserProperties
    Klasse die eine Authentifizierungs-Datei ("passwd") einliest. Eine passwd-Datei besteht aus Schlüssel-Wert-Paaren (wie in Properties beschrieben) wobei der Schlüssel ein Benutzername, optional gefolgt von einem "@"-Zeichen und einem Suffix ist, und der Wert entweder ein Klartextpasswort ist, oder ein binärer Login-Token (z.B. ein SRP-"x"-Wert, mit dem sich der Benutzer beim Datenverteiler authentifizieren kann, ohne dass das Passwort im Klartext in der Datei stehen muss)

    Ein solcher Token besitzt das Format "[XXXX]~~~~ [Hex-Daten]" wobei [XXXX] ein Authentifizierungsverfahren wie bspw. "SRP6" angibt.

    Als Suffix für den Benutzernamen sind möglich:

    - `@[Datenverteiler-Pid]` um das Passwort zur Anmeldung bei einem bestimmten Datenverteiler festzulegen

    - `@[Konfigurationsverantwortlicher-Pid]` um das Passwort festzulegen, mit dem ein Datenverteiler sich bei einer Konfiguration authentifiziert

    • Constructor Summary

      Constructors 
      Constructor Description
      AuthenticationFile​(java.nio.file.Path authenticationFilePath)
      Erstellt eine neue AuthenticationFile-Instanz
    • Constructor Detail

      • AuthenticationFile

        public AuthenticationFile​(java.nio.file.Path authenticationFilePath)
        Erstellt eine neue AuthenticationFile-Instanz
        Parameters:
        authenticationFilePath - Dateiname der Authentifizierungsdatei
    • Method Detail

      • getClientCredentials

        public ClientCredentials getClientCredentials​(java.lang.String userName,
                                                      java.lang.String suffix)
        Gibt ein Passwort oder Login-Token zu einem bestimmten Benutzer zurück
        Specified by:
        getClientCredentials in interface UserProperties
        Parameters:
        userName - Benutzername
        suffix - Optionaler String, der spezifiziert, wo sich der Benutzer einloggen will. Beispielsweise kann ein Benutzer bei mehreren Datenverteilern unterschiedliche Namen vorgeben. In der Datei kann daher mit einem "@" getrennt an den Benutzernamen der "suffix" angehängt, werden. Dies kann z.B. die Pid des Datenverteilers sein.
        Returns:
        Dem Benutzer (und ggf. Suffix) zugeordnetes Passwort (oder Login-Token), falls es in der Datei enthalten war. Sonst null.