nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Eine allgemeine Basisklasse zur Implementierung von Weave-Serverdelegiertenobjekten
Fazit
Übernahme
Ein Beispiel: Ein Beispiel:
Geschützte Typen |
|
---|---|
@69{
|
enum |
AccessControlResult
|
Typdefuint8_t
|
Geschützte Funktionen |
|
---|---|
EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
|
virtual void
Virtuelle Methode zum Festlegen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für Nachrichten von eingehenden Servern
|
WeaveServerDelegateBase(void)
|
|
Geschützte Typen
@69
@69
AccessControlResult
uint8_t AccessControlResult
Geschützte Funktionen
AccessControl erzwingen
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
Virtuelle Methode zum Festlegen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für Nachrichten von eingehenden Servern
Diese Methode wird von der Weave-Serverinfrastruktur aufgerufen, um festzustellen, ob eine eingehende Anfragenachricht normal angenommen und verarbeitet oder abgelehnt werden soll. Delegierte Klassen, die mit Weave-Serverimplementierungen verknüpft sind, müssen diese Methode überschreiben, um entsprechende Richtlinien für die Zugriffssteuerung für ihre Protokolle zu implementieren. Anwendungen können diese Methode weiter überschreiben, um benutzerdefinierte Richtlinien zu unterstützen, die über die Standard-Serverimplementierungen hinausgehen.
Implementierungen dieser Methode sollten auf der Grundlage des Ergebnisses der Richtlinienbewertung für die Zugriffssteuerung den Ergebniswert „Akzeptiert“ oder „Abgelehnt“ zurückgeben. Wird ein Ergebnis abgelehnt, wird ein StatusReport mit dem Status Common/AccessDenied an den Anforderer gesendet. Alternativ können Methoden zur Implementierung verwendet werden, um eigene Antworten zu senden. Dabei kann es sich um einen StatusReport oder eine andere Art von Nachricht handeln. In diesem Fall sollte die Methode ein Ergebnis von „Deny_RespSent“ zurückweisen, dass die Antwort bereits gesendet wurde. Außerdem kann Implementierungen „Deny_Silent“ zurückgegeben werden, um anzugeben, dass die Anfrage abgelehnt werden soll, ohne dass der Anforderer eine Antwort sendet.
Klassen, die die Methode EnforceAccessControl() überschreiben, sind für Aufruffälle erforderlich, um die Methode mit ähnlichem Namen in der unmittelbaren übergeordneten Klasse aufzurufen. Dies kann entweder die Klasse WeaveServerDelegateBase oder eine aus dieser Klasse abgeleitete Klasse sein. Bei überschriebenen Methoden sollte zuerst der Ergebniswert mit der Bestimmung der Zugriffssteuerungsrichtlinie aktualisiert und dann die Basisklasse aufgerufen werden, um diese Entscheidung zu treffen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )