|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.puk.config.main.authentication.ConfigAuthentication
public class ConfigAuthentication
Diese Klasse stellt alle Methoden zur Verfügung, um die Benutzer eines Datenverteilers eindeutig zu identifizieren. Es werden weitere Methoden zur Verfügung gestellt, um die Benutzer zu verwalten (anlegen neuer Benutzer, Passwörter ändern, usw.).
Die Klasse verwaltet selbstständig die Datei, in der die Benutzer mit ihrem Passwörtern (normales Passwort und Einmal-Passwörter) und ihren Rechten gespeichert sind. Der Klasse werden nur verschlüsselte Aufträge übergeben und sie entschlüsselt diese automatisch und führt die Aufträge aus, falls der Benutzer die nötigen Rechte besitzt.
Constructor Summary | |
---|---|
ConfigAuthentication(File userFile,
DataModel dataModel)
Lädt alle Informationen aus der angegebenen Datei. |
Method Summary | |
---|---|
void |
close()
Diese Methode wird aufgerufen, wenn das System heruntergefahren wird. |
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. |
void |
processTask(String usernameCustomer,
byte[] encryptedMessage,
String authentificationProcessName)
Bearbeitet eine der folgenden Aufgaben: - Neuer Benutzer anlegen - Einmal-Passwort erzeugen - Rechte eines Benutzers ändern - Passwort eines Benuzters ändern |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConfigAuthentication(File userFile, DataModel dataModel) throws ParserConfigurationException
userFile
- XML-Datei, in der alle Benutzer gespeichert sind.
ParserConfigurationException
Method Detail |
---|
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üsselt
Exception
- Fehler beim schreiben der neuen Informationen oder ein technisches Problem beim
verschlüsseln der Daten
IllegalArgumentException
- Dem Benutzernamen konnte das Passwort nicht zugeorndet werden oder der Benutzer war
unbekanntpublic byte[] getText()
Authentication
getText
in interface Authentication
public void close()
Authentication
close
in interface Authentication
public void processTask(String usernameCustomer, byte[] encryptedMessage, String authentificationProcessName) throws RequestException, ConfigurationTaskException
Authentication
processTask
in interface Authentication
usernameCustomer
- Benutzer, der den Auftrag erteiltencryptedMessage
- verschlüsselte Aufgabe, die ausgeführt werden sollauthentificationProcessName
- Verschlüsslungsverfahren mit der encryptedMessage
erstellt wurde
RequestException
- Der Auftrag konnte aufgrund eines technischen Fehlers nicht ausgeführt werden
(defektes Speichermedium, Fehler im Dateisystem, usw.). Erst wenn dieser Fehler
behoben ist, können weitere Aufträge ausgeführt werden.
ConfigurationTaskException
- Der Auftrag, der durch die Konfiguration ausgeführt werden sollte, konnte nicht
durchgeführt werden, weil bestimmte Parameter nicht erfüllt waren. Welche
Parameter dies genau sind, hängt vom jeweiligen Auftrag ab, so kann zum Beispiel
ein Passwort fehlerhaft gewesen sein oder der Benutzer besitzt nicht die nötigen
Rechte um einen Auftrag dieser Art anzustoßen. Wenn der Auftrag erneut
übermittelt werden würden, mit den richtigen Parametern, könnte er ausgeführt
werden.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |