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
Modifier and Type | Field and Description |
---|---|
private java.nio.file.Path |
_authenticationFilePath
Pfad der Authentifizierungsdatei
|
private static Debug |
_debug
Logger
|
Constructor and Description |
---|
AuthenticationFile(java.nio.file.Path authenticationFilePath)
Erstellt eine neue AuthenticationFile-Instanz
|
Modifier and Type | Method and Description |
---|---|
ClientCredentials |
getClientCredentials(java.lang.String userName,
java.lang.String suffix)
Gibt ein Passwort oder Login-Token zu einem bestimmten Benutzer zurück
|
private java.util.HashMap<java.lang.String,ClientCredentials> |
readFile() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getClientCredentials
private final java.nio.file.Path _authenticationFilePath
Pfad der Authentifizierungsdatei
private static final Debug _debug
Logger
public AuthenticationFile(java.nio.file.Path authenticationFilePath)
Erstellt eine neue AuthenticationFile-Instanz
authenticationFilePath
- Dateiname der Authentifizierungsdateipublic ClientCredentials getClientCredentials(java.lang.String userName, java.lang.String suffix)
Gibt ein Passwort oder Login-Token zu einem bestimmten Benutzer zurück
getClientCredentials
in interface UserProperties
userName
- Benutzernamesuffix
- 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.private java.util.HashMap<java.lang.String,ClientCredentials> readFile()