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 Closeableclose in interface AutoCloseablepublic 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 RegionManagersystemObject - 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 RegionManagerobject - Objekt das sich geändert hatpublic Object getUpdateLock()
getUpdateLock in interface RegionManager