TsgcWSPServer_WAMPÉvénements › OnBeforeSubscription

OnBeforeSubscription Event

Se déclenche lorsqu'un client envoie une trame SUBSCRIBE, donnant au serveur la possibilité d'accepter ou de rejeter l'abonnement.

Syntaxe

property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object

Valeur par défaut

Remarques

Subscription est l'URI du sujet que le client demande à rejoindre (déjà résolu par rapport à tout préfixe enregistré précédemment avec OnPrefix). Accept est défini sur True par défaut, ce qui signifie que le courtier enregistrera le client en tant qu'abonné et commencera à transmettre les messages EVENT. Définissez-le sur False pour ignorer silencieusement le SUBSCRIBE — le courtier n'ajoutera pas le client au sujet et aucune confirmation n'est renvoyée (WAMP v1 n'a pas de trame SUBSCRIBED). Utilisation typique : contrôle d'accès : vérifiez l'identité authentifiée attachée à Connection par rapport à une ACL, une politique d'espace de noms ou une limite de débit.

Exemple


procedure TForm1.WAMPServerBeforeSubscription(Connection: TsgcWSConnection;
  const Subscription: String; var Accept: Boolean);
begin
  // allow public topics, reject admin channels for non-admin clients
  Accept := not StartsText('http://example.com/admin/', Subscription);
  Memo1.Lines.Add(Format('[%s] SUBSCRIBE %s -> %s',
    [Connection.Guid, Subscription, BoolToStr(Accept, True)]));
end;

Retour aux événements