public interface AccessControlPlugin
Modifier and Type | Method and Description |
---|---|
java.util.Collection<de.bsvrz.dav.daf.main.config.AttributeGroupUsage> |
getAttributeGroupUsagesToFilter()
Wird nach
initialize(AccessControlManager, de.bsvrz.dav.daf.main.ClientDavInterface) aufgerufen. |
de.bsvrz.dav.daf.main.Data |
handleData(long userID,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo,
de.bsvrz.dav.daf.main.Data data)
Wird aufgerufen wenn ein Datenpaket eintrifft, dass den in
getAttributeGroupUsagesToFilter() angegebenen Attributgruppenverwendungen
entspricht. |
void |
initialize(de.bsvrz.dav.daf.accessControl.AccessControlManager accessControlManager,
de.bsvrz.dav.daf.main.ClientDavInterface clientDavInterface)
Wird aufgerufen, nachdem das Plugin instantiiert wurde.
|
void initialize(de.bsvrz.dav.daf.accessControl.AccessControlManager accessControlManager, de.bsvrz.dav.daf.main.ClientDavInterface clientDavInterface)
accessControlManager
- Klasse, die die Standard-Zugriffsrechte verwaltet.clientDavInterface
- Verbindung zum Datenverteilerjava.util.Collection<de.bsvrz.dav.daf.main.config.AttributeGroupUsage> getAttributeGroupUsagesToFilter()
initialize(AccessControlManager, de.bsvrz.dav.daf.main.ClientDavInterface)
aufgerufen. Die Funktion soll alle
Attributgruppenverwendungen zurückgeben, dessen Daten es ansehen und gegebenenfalls verändern will.de.bsvrz.dav.daf.main.Data handleData(long userID, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, de.bsvrz.dav.daf.main.Data data)
getAttributeGroupUsagesToFilter()
angegebenen Attributgruppenverwendungen
entspricht. Die Funktion kann userID
- Benutzer-ID, von dem das Datenpaket stammt. Ist nicht zwingend der Benutzer, der das Datenpaket abgesendet hat,
sondern kann auch der Benutzer des Datenverteilers sein, der das Paket zuletzt verarbeitet hat. Die
Standard-Berechtigungen zu diesem Benutzer können mit DafAccessControlManager.getUserPermissions(long)
gelesen werden.baseSubscriptionInfo
- Anmeldung für die das Datenpaket verschickt wurde.data
- Datenpaket, das gefiltert wurde.data
data
zurückzugeben.data.createModifiableCopy()
data.createModifiableCopy()
eine veränderbare Kopie erzeugt und entsprechend verändert werden. Diese Kopie ist dann
zurückzugeben.clientDavInterface.createData()
initialize(AccessControlManager,
de.bsvrz.dav.daf.main.ClientDavInterface)
angegebenen Datenverteilerverbindung kann auch ein neues Data-Objekt erstellt und
zurückgegeben werden.
Zu beachten ist, dass es dennoch an die ursprüngliche Anmeldung verschickt wird und deshalb die gleiche Attributgruppe benutzen sollte,
wie das
originale Datenpaket. Ist das nicht der Fall tritt möglicherweise undefiniertes Verhalten auf.null
null
zurückgegeben wird das Datenpaket verworfen und nicht weitergesendet. Sollte nur verwendet werden, wenn das Plugin selbst eine
Antwort bzw. ein eigenes Datenpaket verschickt, oder wenn das Eintreffen des Datenpakets unwichtig ist und niemand auf eine eventuelle
Antwort
wartet.