private final class ConfigAuthentication.UserAccount extends Object
Modifier and Type | Field and Description |
---|---|
private boolean |
_admin
true = Der Benutzer ist ein Admin und darf Einstellungen bei anderen Benutzern vornehmen
|
private Set<String> |
_allSingleServingPasswords
Speichert alle Passwörter der Einmal-Passwörter (Als Schlüssel dient das Passwort in Klarschrift).
|
private int |
_greatestSingleServingPasswordIndex
Speichert den größten Index, der bisher für ein Einmal-Passwort benutzt wurde.
|
private String |
_password
Passwort des Accounts in Klarschrift
|
private LinkedList<ConfigAuthentication.SingleServingPassword> |
_usableSingleServingPasswords
Liste, die alle benutzbaren Einmalpasswörter enthält.
|
private String |
_username
Benutzername des Accounts
|
private Element |
_xmlObject
XML-Objekt, dieses muss zuerst verändert und gespeichert werden, bevor die Objekte im Speicher geändert werden
|
private static int |
NO_RESULT |
Constructor and Description |
---|
ConfigAuthentication.UserAccount(String username,
String xmlPassword,
boolean admin,
List<ConfigAuthentication.SingleServingPassword> allSingleServingPasswords,
Element xmlObject) |
Modifier and Type | Method and Description |
---|---|
void |
clearSingleServingPasswords()
Löscht alle Einmalpasswörter eines Benutzers und markiert diese als ungültig
|
int |
countSingleServingPasswords()
Gibt die Anzahl der verbleidenden, gültigen Einmalpasswörter zurück
|
void |
createNewSingleServingPassword(String newPassword)
Erzeugt ein neues Einmal-Passwort.
|
String |
getPassword()
Unverschlüsseltes Passwort des Benutzers
|
String |
getUsername()
Benutzername
|
boolean |
isAdmin() |
void |
setAdminRights(boolean adminRights)
Legt fest, ob ein Benutzer Admin-Rechte besitzt.
|
void |
setPassword(String password)
Ändert das Passwort und speichert das neue Passwort in einer XML-Datei
|
void |
useSingleServingPassword(byte[] encryptedPassword,
String authentificationText,
String authentificationProcessName)
Versucht ein Einmal-Passwort zu benutzen.
|
private final String _username
private String _password
private boolean _admin
private final LinkedList<ConfigAuthentication.SingleServingPassword> _usableSingleServingPasswords
private final Set<String> _allSingleServingPasswords
private int _greatestSingleServingPasswordIndex
private final Element _xmlObject
private static final int NO_RESULT
public ConfigAuthentication.UserAccount(String username, String xmlPassword, boolean admin, List<ConfigAuthentication.SingleServingPassword> allSingleServingPasswords, 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 String getUsername()
public String getPassword()
public void setPassword(String password) throws FileNotFoundException, TransformerException
password
- Neues PasswortFileNotFoundException
TransformerException
public boolean isAdmin()
public void setAdminRights(boolean adminRights) throws FileNotFoundException, TransformerException
adminRights
- true = Der Benutzer besitzt Admin Rechte; false = Der Benutzer besitzt keine Admin-RechteFileNotFoundException
TransformerException
public void createNewSingleServingPassword(String newPassword) throws ConfigurationTaskException, RequestException
newPassword
- Passwort des Einmal-PasswortsRequestException
- Fehler beim Speichern des neuen Passworts, das Passwort wurde nicht angelegt.ConfigurationTaskException
- Das Passwort wurde bereits vergeben, es wurde kein neues Passwort angelegt.public void useSingleServingPassword(byte[] encryptedPassword, String authentificationText, String authentificationProcessName) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException, FileNotFoundException, TransformerException
encryptedPassword
- Einmal-Passwort, das vom Benutzer eingegeben wurdeauthentificationText
- Text mit dem das Einmal-Passwort verschlüsselt wurdeauthentificationProcessName
- Name des benutzten VerschlüsslungsverfahrensIllegalArgumentException
- Falsches Einmal-PasswortNoSuchAlgorithmException
- Unbekantes VerschlüsslungsverfahrenUnsupportedEncodingException
InvalidKeyException
FileNotFoundException
TransformerException
public void clearSingleServingPasswords() throws TransformerException, FileNotFoundException
public int countSingleServingPasswords()