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
    • Method Summary

      Modifier and Type Method Description
      ClientCredentials getClientCredentials​(java.lang.String userName, java.lang.String suffix)
      Gibt ein Passwort oder Login-Token zu einem bestimmten Benutzer zurück
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.