Class AuthenticationFile

java.lang.Object
de.bsvrz.dav.daf.main.authentication.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

    Methods inherited from interface de.bsvrz.dav.daf.main.authentication.UserProperties

    getClientCredentials
  • Constructor Details

    • AuthenticationFile

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

    • 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.