public final class Benutzerverwaltung extends Object
Modifier and Type | Class and Description |
---|---|
private class |
Benutzerverwaltung.PrivateListener
Kapselt den Empfang von Login/Logout-Meldungen.
|
Modifier and Type | Field and Description |
---|---|
private EventListenerList |
listeners
Die angemeldeten Listener der Klasse.
|
private de.bsvrz.sys.funclib.debug.Debug |
log
Der Logger der Klasse.
|
static String |
PID_KLASSE_ADMINISTRATOR
PID der Berechtigungsklasse mit allen Zugriffsrechten.
|
static String |
PID_KLASSE_BEOBACHTER
PID der Berechtigungsklasse mit allen Zugriffsrechten.
|
static String |
PID_KLASSE_KEIN_ZUGRIFF
PID der Berechtigungsklasse ohne jede Zugriffsrechte.
|
static String |
PID_REGION_ALLES
PID der Zugriffsregion für alle Objekte.
|
static String |
PID_ROLLE_ADMINISTRATOR
PID der Zugriffsroll mit allen Zugriffsrechten.
|
static String |
PID_ROLLE_BEOBACHTER
PID der Zugriffsrolle die nur beobachten darf.
|
static String |
PID_ROLLE_PARAMETRIEREN
PID der Zugriffsrolle die das Parametrieren erlaubt.
|
private static Benutzerverwaltung |
singleton
Das Singleton der Klasse.
|
Modifier | Constructor and Description |
---|---|
private |
Benutzerverwaltung()
Inituialisierung.
|
Modifier and Type | Method and Description |
---|---|
void |
addBenutzerListener(BenutzerListener l)
Registriert einen Listener an.
|
void |
addLoginListener(LoginListener l)
Registriert einen Listener an.
|
Benutzer |
anlegenBenutzer(String adminLoginname,
String adminPasswort,
BenutzerInfo benutzerInfo)
Legt einen neuen Benutzer an.
|
Benutzer |
changePasswort(String adminLoginname,
String adminPasswort,
Benutzer benutzer,
String neuesPasswort)
Ändert das Anmeldekennwort eines Benutzer.
|
String |
checkPasswort(String passwort,
Benutzer benutzer,
PasswortInfo passwortInfo)
Prüft ein neues Passwort auf seine Sicherheit.
|
void |
deaktiviereBenutzer(String adminLoginname,
String adminPasswort,
Benutzer benutzer)
Deaktiviert einen Benutzer.
|
void |
entfernenBenutzer(String adminLoginname,
String adminPasswort,
Benutzer benutzer)
Deprecated.
Benutzer können derzeit nicht gelöscht werden. Das
Systemobjekt kann zwar invalidiert werden, in der
benutzerverwaltung.xml kann der Benutzer aber mangels
entsprechender Funktion nicht ausgetragen werden.
|
protected void |
fireAbgemeldet(Benutzer benutzer,
Applikation applikation,
com.bitctrl.util.Timestamp anmeldezeit)
Benachrichtigt die angmeldeten Listener darüber, dass sich ein Benutzer
abgemeldet hat.
|
protected void |
fireAngemeldet(Benutzer benutzer,
Applikation applikation,
com.bitctrl.util.Timestamp anmeldezeit)
Benachrichtigt die angmeldeten Listener über die Anmeldung eines
Benutzers.
|
protected void |
fireBenutzerAdded(Benutzer benutzer)
Benachrichtigt die angmeldeten Listener darüber, dass ein neuer Benutzer
angelegt wurde.
|
protected void |
fireBenutzerChanged(Benutzer benutzer,
Berechtigungsklasse berechtigungsklasse)
Benachrichtigt die angmeldeten Listener darüber, dass die
Berechtigungsklasse eines Benutzer geändert wurde.
|
protected void |
fireBenutzerRemoved(Benutzer benutzer)
Benachrichtigt die angmeldeten Listener darüber, dass ein Benutzer
gelöscht wurde.
|
Benutzer |
getAngemeldetenBenutzer()
Gibt den lokal angemeldeten Benutzer zurück.
|
AngemeldeteApplikationen.Daten.AngemeldeteApplikation |
getAnmeldungen(Applikation applikation)
Gibt die Anmeldung zu einer Applikation zurück.
|
List<AngemeldeteApplikationen.Daten.AngemeldeteApplikation> |
getAnmeldungen(Benutzer benutzer)
Gibt die Liste aller aktuell gültigen Anmeldungen eines Benutzers zurück.
|
Applikation |
getApplikation()
Gibt die lokale Klientapplikation zurück.
|
List<Benutzer> |
getBenutzer()
Gibt eine Liste aller Benutzer im System zurück.
|
List<Benutzer> |
getBenutzer(Berechtigungsklasse klasse)
Gibt eine Liste aller Benutzer zurück, die einer bestimmten
Berechtigungsklasse angehören.
|
Benutzer |
getBenutzer(String loginname)
Prüft ob ein bestimmter Benutzer existiert und gibt ihn zurück.
|
Map<Benutzer,Berechtigungsklasse> |
getBenutzerUndKlassen()
Gibt eine Zusammenstellung aller Benutzer im System und deren
Benutzerklasse zurück.
|
List<Berechtigungsklasse> |
getBerechtigungsklasse()
Gibt eine Liste aller Berechtigungsklassen im System zurück.
|
Berechtigungsklasse |
getBerechtigungsklasse(Benutzer benutzer)
Bestimmt die aktuelle Berechtigungsklasse des Benutzers.
|
Berechtigungsklasse |
getBerechtigungsklasse(String pid)
Sucht eine bestimmte Berechtigungsklasse.
|
static Benutzerverwaltung |
getInstanz()
Gibt die einzige Instanz der Klasse zurück.
|
List<Region> |
getRegion()
Gibt eine Liste aller Zugriffsregionen im System zurück.
|
Region |
getRegion(String pid)
Sucht eine bestimmte Zugriffsregion.
|
List<Rolle> |
getRolle()
Gibt eine Liste aller Zugriffsrollen im System zurück.
|
Rolle |
getRolle(String pid)
Sucht eine bestimmte Zugriffsrolle.
|
boolean |
isAdmin(String loginname)
Prüft, ob ein Bennutzer der Berechtigungsklasse
PID_KLASSE_ADMINISTRATOR zugeordnet ist. |
boolean |
isBerechtigungsklasse(Benutzer benutzer,
Berechtigungsklasse klasse)
Prüft ob ein bestimmter Benutzer zu einer bestimmten Berechtigungsklasse
gehört.
|
boolean |
isDAVAdmin(String loginname,
String passwort)
Prüft, ob ein Bennutzer Administratorrechte am DAV besitzt.
|
boolean |
isOnline(Benutzer benutzer)
Flag ob ein bestimmter Benutzer im Moment an irgendeiner Applikation
angemeldet ist.
|
boolean |
isRolleUndRegion(Benutzer benutzer,
Rolle rolle,
Region region)
Prüft ob ein bestimmter Benutzer eine bestimmte Rolle in einer Region
hat.
|
void |
removeBenutzerListener(BenutzerListener l)
Meldet einen Listener wieder ab.
|
void |
removeLoginListener(LoginListener l)
Meldet einen Listener wieder ab.
|
void |
setBerechtigungsklasse(String adminLoginname,
String adminPasswort,
Benutzer benutzer,
Berechtigungsklasse klasse)
Ändert die Berechtigungsklasse eines Benutzer.
|
List<Benutzer> |
sucheBenutzer(String nachname,
String vorname,
String zweiterVorname,
String organisation,
String email)
Sucht alle Benutzer auf die bestimmte Kriterien zutreffen.
|
public static final String PID_KLASSE_KEIN_ZUGRIFF
public static final String PID_KLASSE_ADMINISTRATOR
public static final String PID_KLASSE_BEOBACHTER
public static final String PID_REGION_ALLES
public static final String PID_ROLLE_ADMINISTRATOR
public static final String PID_ROLLE_PARAMETRIEREN
public static final String PID_ROLLE_BEOBACHTER
private static Benutzerverwaltung singleton
private final de.bsvrz.sys.funclib.debug.Debug log
private final EventListenerList listeners
public static Benutzerverwaltung getInstanz()
public void addLoginListener(LoginListener l)
l
- ein Listener.public void removeLoginListener(LoginListener l)
l
- ein Listener.protected void fireAngemeldet(Benutzer benutzer, Applikation applikation, com.bitctrl.util.Timestamp anmeldezeit)
benutzer
- der betroffene Benutzer.applikation
- die betroffene Applikation.anmeldezeit
- der Anmeldezeitpunkt.protected void fireAbgemeldet(Benutzer benutzer, Applikation applikation, com.bitctrl.util.Timestamp anmeldezeit)
benutzer
- der betroffene Benutzer.applikation
- die betroffene Applikation.anmeldezeit
- der Anmeldezeitpunkt.public void addBenutzerListener(BenutzerListener l)
l
- ein Listener.public void removeBenutzerListener(BenutzerListener l)
l
- ein Listener.protected void fireBenutzerAdded(Benutzer benutzer)
benutzer
- der betroffene Benutzer.protected void fireBenutzerRemoved(Benutzer benutzer)
benutzer
- der betroffene Benutzer.protected void fireBenutzerChanged(Benutzer benutzer, Berechtigungsklasse berechtigungsklasse)
benutzer
- der betroffene Benutzer.berechtigungsklasse
- die Berechtigungsklasse des Benutzers.public Applikation getApplikation()
public List<AngemeldeteApplikationen.Daten.AngemeldeteApplikation> getAnmeldungen(Benutzer benutzer)
benutzer
- ein Benutzer.public AngemeldeteApplikationen.Daten.AngemeldeteApplikation getAnmeldungen(Applikation applikation)
null
sein, wenn es keine Anmeldung mehr zu dieser Applikation
gibt, dass heißt sie wurde beendet.applikation
- eine Applikation.public Benutzer getAngemeldetenBenutzer()
public List<Benutzer> getBenutzer()
public List<Benutzer> getBenutzer(Berechtigungsklasse klasse)
klasse
- eine Berechtigungsklase.public List<Berechtigungsklasse> getBerechtigungsklasse()
public Map<Benutzer,Berechtigungsklasse> getBenutzerUndKlassen()
public boolean isDAVAdmin(String loginname, String passwort)
loginname
- ein Nutzernamepasswort
- das Passwort des Benutzerstrue
, wenn der Bennutzer Administratorrechte besitzt.public boolean isAdmin(String loginname)
PID_KLASSE_ADMINISTRATOR
zugeordnet ist.loginname
- ein beliebiger Nutzernametrue
, wenn der Bennutzer Administratoraufgaben ausführen
darf.public boolean isBerechtigungsklasse(Benutzer benutzer, Berechtigungsklasse klasse)
benutzer
- ein Benutzer.klasse
- eine Berechtuigungsklasse.true
, wenn der Benutzer zu der Berechtigungsklasse
gehört.public Berechtigungsklasse getBerechtigungsklasse(Benutzer benutzer)
benutzer
- ein Benutzer.public boolean isRolleUndRegion(Benutzer benutzer, Rolle rolle, Region region)
benutzer
- ein Benutzer.rolle
- eine Zugriffsrolle.region
- eine Zugriffsregion. Wenn null
, wird die Region
ignoriert und nur die Rolle geprüpft.true
, wenn der Benutzer in der Region die angegebene
Rolle hat.public Berechtigungsklasse getBerechtigungsklasse(String pid)
pid
- die PID einer Berechtigungsklasse.null
, wenn zu der PID keine
existiert.public Rolle getRolle(String pid)
pid
- die PID einer Zugriffsrolle.null
, wenn zu der PID keine
existiert.public List<Rolle> getRolle()
public Region getRegion(String pid)
pid
- die PID einer Zugriffsregion.null
, wenn zu der PID keine
existiert.public List<Region> getRegion()
public Benutzer getBenutzer(String loginname)
loginname
- der eindeutige Benutzername (Loginname).null
, wenn kein Benutzer mit dem
angegebenen Namen existiert.public List<Benutzer> sucheBenutzer(String nachname, String vorname, String zweiterVorname, String organisation, String email)
null
sein, dies wird als Wildcard
"alle" gedeutet. Die einzelnen Kriterien werden "oder"-verknüpft.nachname
- der Nachname der gesuchten Benutzer.vorname
- der Vorname der gesuchten Benutzer.zweiterVorname
- der zweite Vorname der gesuchten Benutzer.organisation
- die Organisation der gesuchten Benutzer.email
- die E-Mail-Adresse der gesuchten Benutzer.null
.public Benutzer anlegenBenutzer(String adminLoginname, String adminPasswort, BenutzerInfo benutzerInfo) throws KeineRechteException, BenutzerChangeException
adminLoginname
- der Name des Administrators der die Aktion ausführt.adminPasswort
- das Anmeldekennwort des Administrators der die Aktion
ausführt.benutzerInfo
- die Eigenschaften des neuen Benutzers.KeineRechteException
- wenn die Benutzerrechte für diese Aktion nicht ausreichen.BenutzerChangeException
- wenn beim Anlegen des Benutzers ein Fehler eintrat.@Deprecated public void entfernenBenutzer(String adminLoginname, String adminPasswort, Benutzer benutzer) throws KeineRechteException, BenutzerChangeException
adminLoginname
- der Name des Administrators der die Aktion ausführt.adminPasswort
- das Anmeldekennwort des Administrators der die Aktion
ausführt.
Wird derzeit ignoriert, da es nicht benötigt wird!benutzer
- der zu löschende Benutzers.KeineRechteException
- wenn die Benutzerrechte für diese Aktion nicht ausreichen.BenutzerChangeException
- wenn beim Löschen des Benutzers ein Fehler eintrat.public Benutzer changePasswort(String adminLoginname, String adminPasswort, Benutzer benutzer, String neuesPasswort) throws KeineRechteException, BenutzerChangeException
adminLoginname
- der Name des Administrators der die Aktion ausführt.adminPasswort
- das Anmeldekennwort des Administrators der die Aktion
ausführt.benutzer
- der Benutzer, dessen Passwort geändert werden soll.neuesPasswort
- das neue Passwort des Benutzer.KeineRechteException
- wenn die Benutzerrechte für diese Aktion nicht ausreichen.BenutzerChangeException
- wenn beim Anlegen des Benutzers ein Fehler eintrat.public void setBerechtigungsklasse(String adminLoginname, String adminPasswort, Benutzer benutzer, Berechtigungsklasse klasse) throws KeineRechteException, BenutzerChangeException
adminLoginname
- der Name des Administrators der die Aktion ausführt.adminPasswort
- das Anmeldekennwort des Administrators der die Aktion
ausführt.benutzer
- der zu deaktivierende Benutzers.klasse
- die zu setzende Berechtigungsklasse.KeineRechteException
- wenn die Benutzerrechte für diese Aktion nicht ausreichen.BenutzerChangeException
- wenn beim Ändern der Benutzerrechte ein Fehler eintrat.public void deaktiviereBenutzer(String adminLoginname, String adminPasswort, Benutzer benutzer) throws KeineRechteException, BenutzerChangeException
TODO Passwort überprüfen.
adminLoginname
- der Name des Administrators der die Aktion ausführt.adminPasswort
- das Anmeldekennwort des Administrators der die Aktion
ausführt.
Wird derzeit ignoriert, da es nicht benötigt wird!benutzer
- der zu deaktivierende Benutzers.KeineRechteException
- wenn die Benutzerrechte für diese Aktion nicht ausreichen.BenutzerChangeException
- wenn es beim deaktivieren einen Fehler gab.public boolean isOnline(Benutzer benutzer)
benutzer
- ein Benutzer.true
, wenn der Benutzer online ist.public String checkPasswort(String passwort, Benutzer benutzer, PasswortInfo passwortInfo)
passwort
- das Passwort.benutzer
- der Nutzer, für den das Passwort verwendet werden soll.passwortInfo
- die Sicherheitskriterien.null
, wenn das Passwort sicher ist, sonst eine
Fehlerbeschreibung.
TODO Prüfen ob alle Sicherheitsaspekte geprüft werden.Copyright © 2017 BitCtrl Systems GmbH. All rights reserved.