TsgcWSPServer_WAMPEvents › OnBeforeSubscription

OnBeforeSubscription Olay

Bir istemci bir SUBSCRIBE çerçevesi gönderdiğinde tetiklenir, sunucuya aboneliği kabul etme veya reddetme şansı verir.

Sözdizimi

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

Varsayılan Değer

Remarks

Subscription, istemcinin katılmak istediği konu URI'sidir (daha önce OnPrefix ile kaydedilmiş herhangi bir önekle çözümlenmiş). Accept varsayılan olarak True olarak ayarlanır, yani broker istemciyi bir abone olarak kaydeder ve EVENT mesajlarını iletmeye başlar. SUBSCRIBE'ı sessizce düşürmek için False olarak ayarlayın — broker istemciyi konuya eklemez ve geri hiçbir onay gönderilmez (WAMP v1'in SUBSCRIBED çerçevesi yoktur). Tipik kullanım erişim kontrolüdür: Connection'a eklenen kimliği doğrulanmış kimliği bir ACL'ye, ad alanı politikasına veya oran sınırına karşı kontrol edin.

Örnek


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;

Olaylara Dön