private final class UserManagementFileOffline.UserAccount
extends java.lang.Object
Diese Klasse Speichert alle Informationen, die zu Benutzerkonto gehören. Dies beinhaltet:
Benutzername
Benutzerpasswort
Adminrechte
Liste von Einmal-Passwörtern (siehe TPuK1-130)
Sollen Änderungen an einem dieser Informationen vorgenommen werden, führt dies erst dazu, dass die Daten persistent in einer XML-Datei gespeichert werden. Ist dies erfolgreich, wird die Änderung auch an den Objekten durchgeführt. Kann die Änderungen nicht gespeichert werden, wird ein entsprechender Fehler ausgegeben und die Änderung nicht durchgeführt
Modifier and Type | Field and Description |
---|---|
private boolean |
_admin
true = Der Benutzer ist ein Admin und darf Einstellungen bei anderen Benutzern vornehmen
|
private int |
_greatestSingleServingPasswordIndex
Speichert den größten Index, der bisher für ein Einmal-Passwort benutzt wurde.
|
private java.lang.String |
_password
Passwort des Accounts in Klarschrift
|
private java.util.LinkedList<UserManagementFileOffline.SingleServingPassword> |
_usableSingleServingPasswords |
private java.lang.String |
_username
Benutzername des Accounts
|
private org.w3c.dom.Element |
_xmlObject
XML-Objekt, dieses muss zuerst verändert und gespeichert werden, bevor die Objekte im Speicher geändert werden
|
Constructor and Description |
---|
UserAccount(java.lang.String username,
java.lang.String xmlPassword,
boolean admin,
java.util.List<UserManagementFileOffline.SingleServingPassword> allSingleServingPasswords,
org.w3c.dom.Element xmlObject) |
Modifier and Type | Method and Description |
---|---|
void |
clearSingleServingPasswords()
Löscht alle Einmalpasswörter eines Benutzers und markiert diese als ungültig
|
int |
createNewSingleServingPasswords(java.util.List<SrpVerifierData> passwords) |
void |
disableSingleServingPassword(int passwordIndex) |
java.lang.String |
getPassword()
Unverschlüsseltes Passwort des Benutzers
|
java.lang.String |
getPassword(int passwordIndex)
Gibt das Passwort mit dem angegebenen Index zurück
|
java.util.LinkedList<UserManagementFileOffline.SingleServingPassword> |
getUsableSingleServingPasswords()
Liste, die alle benutzbaren Einmalpasswörter enthält.
|
java.lang.String |
getUsername()
Benutzername
|
boolean |
isAdmin() |
void |
setAdminRights(boolean adminRights)
Legt fest, ob ein Benutzer Admin-Rechte besitzt.
|
void |
setPassword(java.lang.String password)
Ändert das Passwort und speichert das neue Passwort in einer XML-Datei
|
private final java.lang.String _username
Benutzername des Accounts
private java.lang.String _password
Passwort des Accounts in Klarschrift
private boolean _admin
true = Der Benutzer ist ein Admin und darf Einstellungen bei anderen Benutzern vornehmen
private final java.util.LinkedList<UserManagementFileOffline.SingleServingPassword> _usableSingleServingPasswords
private int _greatestSingleServingPasswordIndex
Speichert den größten Index, der bisher für ein Einmal-Passwort benutzt wurde. Das nächste Einmal-Passwort hätte als Index "_greatestSingleServingPasswordIndex++".
Wird mit -1 initialisiert. Das erste Passwort erhält also Index 0.
Der Wert wird im Konstruktor, falls Einmal-Passwörter vorhanden sind, auf den größten vergebenen Index gesetzt.
private final org.w3c.dom.Element _xmlObject
XML-Objekt, dieses muss zuerst verändert und gespeichert werden, bevor die Objekte im Speicher geändert werden
public UserAccount(java.lang.String username, java.lang.String xmlPassword, boolean admin, java.util.List<UserManagementFileOffline.SingleServingPassword> allSingleServingPasswords, org.w3c.dom.Element xmlObject)
username
- BenutzernamexmlPassword
- Passwort, wie es in der XML-Datei gespeichert wurdeadmin
- Ob der Benutzer Admin_Rechte hatallSingleServingPasswords
- Alle Einmal-PasswörterxmlObject
- XML-Objekt, aus dem die obigen Daten ausgelesen wurdenpublic java.lang.String getUsername()
Benutzername
public java.lang.String getPassword()
Unverschlüsseltes Passwort des Benutzers
public void setPassword(java.lang.String password) throws java.io.IOException, javax.xml.transform.TransformerException
Ändert das Passwort und speichert das neue Passwort in einer XML-Datei
password
- Neues Passwortjava.io.IOException
javax.xml.transform.TransformerException
public boolean isAdmin()
public void setAdminRights(boolean adminRights) throws java.io.IOException, javax.xml.transform.TransformerException
Legt fest, ob ein Benutzer Admin-Rechte besitzt. Die Änderung wird sofort in der XML-Datei gespeichert.
adminRights
- true = Der Benutzer besitzt Admin Rechte; false = Der Benutzer besitzt keine Admin-Rechtejava.io.IOException
javax.xml.transform.TransformerException
public int createNewSingleServingPasswords(java.util.List<SrpVerifierData> passwords) throws ConfigurationTaskException
ConfigurationTaskException
public void clearSingleServingPasswords() throws javax.xml.transform.TransformerException, java.io.IOException
Löscht alle Einmalpasswörter eines Benutzers und markiert diese als ungültig
javax.xml.transform.TransformerException
java.io.IOException
public java.lang.String getPassword(int passwordIndex)
Gibt das Passwort mit dem angegebenen Index zurück
passwordIndex
- Index (falls -1 wird das normale Passwort zurückgegeben, sonst ein Einmalpasswort mit angegebenem Index)public void disableSingleServingPassword(int passwordIndex) throws ConfigurationTaskException
ConfigurationTaskException
public java.util.LinkedList<UserManagementFileOffline.SingleServingPassword> getUsableSingleServingPasswords()
Liste, die alle benutzbaren Einmalpasswörter enthält. An Index 0 steht immer das als nächstes zu benutzende Passwort. Am Ende der Liste wird jedes neue Passwort eingefügt. Wird ein Passwort benutzt, wird das Passwort vom Anfang der Liste entfernt (FIFO).