public class ConfigAuthentication extends Object implements Authentication
Constructor and Description |
---|
ConfigAuthentication(File userFile,
DataModel dataModel)
Lädt alle Informationen aus der angegebenen Datei.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Diese Methode wird aufgerufen, wenn das System heruntergefahren wird.
|
void |
createBackupFile(File targetDirectory)
Sicher die Benutzerverwaltungsdatei in das angegebene Verzeichnis
|
byte[] |
getText()
Erzeugt einen Zufallstext und gibt diesen als Byte-Array zurück.
|
void |
isValidUser(String username,
byte[] encryptedPassword,
String authentificationText,
String authentificationProcessName)
Die Implementierung dieser Methode stellt die Authentifizierung des Benutzers sicher.
|
int |
processTask(String usernameCustomer,
byte[] encryptedMessage,
String authentificationProcessName)
Führt einen Auftrag der Benutzerverwaltung aus und entschlüsselt dabei das übergebene Byte-Array
|
public ConfigAuthentication(File userFile, DataModel dataModel) throws ParserConfigurationException
userFile
- XML-Datei, in der alle Benutzer gespeichert sind.ParserConfigurationException
public void isValidUser(String username, byte[] encryptedPassword, String authentificationText, String authentificationProcessName) throws Exception
Authentication
authentificationText
verschlüsselt und mit dem übergebenen verschlüsselten
Passwort verglichen. Sind beide Passwörter gleich, und der übergebene Benutzername stimmt mit dem Benutzernamen des
original Passworts überein, so war die Authentifkation erfolgreich.
Konnte das original Passwort nicht benutzt werden, muss geprüft werden, ob es ein Einmal-Passwort gibt. Das
Einmal-Passwort muss das derzeit aktuell gültige sein und muss mit dem übergebenen verschlüsseltem Passwort
übereinstimmen. Gibt es ein entsprechendes Einmal-Passwort, so ist es für immer zu sperren.
Konnte kein Passwort gefunden werden, wird eine IllegalArgumentException geworfen.isValidUser
in interface Authentication
username
- Benutzername, der zu dem übergebenen verschlüsselten Passwort gehörtencryptedPassword
- Passwort, das mit dem übergebenen Text authentificationText
verschlüsselt wurdeauthentificationText
- Text, der benutzt wurde um das übergebene Passwort encryptedPassword
zu verschlüsselnauthentificationProcessName
- Name des Verschlüsslungsverfahren, das benutzt wurde. Mit diesem Verfahren wird
das Originalpasswort verschlüsseltException
- Fehler beim schreiben der neuen Informationen oder ein technisches Problem beim
verschlüsseln der DatenIllegalArgumentException
- Dem Benutzernamen konnte das Passwort nicht zugeordnet werden oder der Benutzer war
unbekanntpublic byte[] getText()
Authentication
getText
in interface Authentication
public void close()
Authentication
close
in interface Authentication
public int processTask(String usernameCustomer, byte[] encryptedMessage, String authentificationProcessName) throws RequestException, ConfigurationTaskException
processTask
in interface Authentication
usernameCustomer
- Benutzer, der den Auftrag erteiltencryptedMessage
- verschlüsselte Aufgabe, die ausgeführt werden sollauthentificationProcessName
- EntschlüsselungsverfahrenConfigAuthentication.UserAccount.NO_RESULT
(-1) falls die Aufgabe keine Rückgabe liefert.RequestException
- Fehler in der AnfrageConfigurationTaskException
- Fehler beim Ausführen der Anweisungpublic void createBackupFile(File targetDirectory) throws IOException
targetDirectory
- ZielverzeichnisIOException
- IO-Fehler