public final class AccessControlManager extends Object implements RegionManager, Closeable
Modifier and Type | Field and Description |
---|---|
static int |
MessageSenderInterval
Interval zwischen 2 Betriebsmeldungen wegen fehlenden Parametern.
|
Constructor and Description |
---|
AccessControlManager(ClientDavInterface connection,
UserRightsChangeHandler userRightsChangeHandler,
boolean useNewDataModel)
Erstellt eine neue Instanz des AccessControlManagers mit impliziter Benutzerverwaltung
|
AccessControlManager(ClientDavInterface connection,
UserRightsChangeHandler userRightsChangeHandler,
boolean useImplicitUserManagement,
boolean useNewDataModel)
Erstellt eine neue Instanz des AccessControlManagers
|
Modifier and Type | Method and Description |
---|---|
void |
addUser(long userId)
Fügt eine Benutzerinformation zu der Benutzertabelle hinzu, wenn der Datenverteiler die Benutzerrechte prüfen soll.
|
void |
close() |
Region |
getRegion(SystemObject systemObject)
Gibt die Region-Klasse zurück die zu dem angeforderten Systemobjekt gehört.
|
Object |
getUpdateLock()
Um immer einen konsistenten Zustand zu haben, darf immer nur ein DataLoader gleichzeitig pro AccessControlManager geupdatet werden.
|
UserInfo |
getUser(long userId)
Gibt das gespeicherte BenutzerObjekt mit der angegebenen ID zurück
|
boolean |
isUsingNewDataModel()
Fragt ab, ob das neue Datenmodell benutzt wird.
|
protected void |
notifyInfiniteRecursion(DataLoader node,
DataLoader parent,
List<DataLoader> trace)
Wird aufgerufen, wenn eine Rekursion in den Systemobjekten gefunden wurde.
|
void |
objectChanged(DataLoader object)
Wird aufgerufen un dem AccessControlManager zu informieren, dass ein verwaltetes Objekt sich geändert hat.
|
void |
removeUser(long userId)
Löscht einen Benutzer aus der Benutzertabelle, wenn der Datenverteiler die Benutzerrechte prüfen soll.
|
String |
toString() |
public static final int MessageSenderInterval
public AccessControlManager(ClientDavInterface connection, UserRightsChangeHandler userRightsChangeHandler, boolean useNewDataModel)
connection
- Verbindung zum DatenverteileruserRightsChangeHandler
- Klasse, die über Änderungen an den Benutzerrechten informiert werden soll. Das ist im allgemeinen der HighLevelSubscriptionsManager
, der bei sich ändernden Rechten eventuell ungültig gewordene Anmeldungen
deaktiviert, kann aber für Testfälle und andere Anwendungen auch ein anderes (möglicherweise deutlich kleineres) Objekt
sein.useNewDataModel
- Sollen die neuen Zugriffsrechte benutzt werden?public AccessControlManager(ClientDavInterface connection, UserRightsChangeHandler userRightsChangeHandler, boolean useImplicitUserManagement, boolean useNewDataModel)
connection
- Verbindung zum DatenverteileruserRightsChangeHandler
- Klasse, die über Änderungen an den Benutzerrechten informiert werden soll. Das ist im allgemeinen der HighLevelSubscriptionsManager
, der bei sich ändernden Rechten eventuell ungültig gewordene Anmeldungen
deaktiviert, kann aber für Testfälle und andere Anwendungen auch ein anderes (möglicherweise deutlich kleineres) Objekt
sein.useImplicitUserManagement
- Wenn false, werden nur Benutzer berücksichtigt, die mit addUser und removeUser in diese Klasse eingefügt werden.useNewDataModel
- Sollen die neuen Zugriffsrechte benutzt werden?public void close()
close
in interface Closeable
close
in interface AutoCloseable
public final void addUser(long userId)
userId
- BenutzerIDpublic boolean isUsingNewDataModel()
protected void notifyInfiniteRecursion(DataLoader node, DataLoader parent, List<DataLoader> trace)
node
- Der Knoten, der sich selbst referenziertparent
- Der Knoten, der den problematischen Knoten referenzierttrace
- Komplette Hierarchie vom Benutzer zum problematischen Objekt.public Region getRegion(SystemObject systemObject)
getRegion
in interface RegionManager
systemObject
- Systemobjekt, das eine Region repräsentiertpublic UserInfo getUser(long userId)
userId
- Angegebene BenutzerIdpublic final void removeUser(long userId)
userId
- BenutzerIDpublic void objectChanged(DataLoader object)
HighLevelSubscriptionsManager
eine Benachrichtigung senden, dass
sich die Rechte des Benutzers geändert haben und eventuelle vorhandene Anmeldungen entfernt werden müssen.objectChanged
in interface RegionManager
object
- Objekt das sich geändert hatpublic Object getUpdateLock()
getUpdateLock
in interface RegionManager