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 PasswortFileNotFoundExceptionTransformerExceptionpublic boolean isAdmin()
public void setAdminRights(boolean adminRights)
throws FileNotFoundException,
TransformerException
adminRights - true = Der Benutzer besitzt Admin Rechte; false = Der Benutzer besitzt keine Admin-RechteFileNotFoundExceptionTransformerExceptionpublic 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üsslungsverfahrenUnsupportedEncodingExceptionInvalidKeyExceptionFileNotFoundExceptionTransformerExceptionpublic void clearSingleServingPasswords()
throws TransformerException,
FileNotFoundException
public int countSingleServingPasswords()