TsgcWebSocketHTTPServerイベント › OnInvalidSession

OnInvalidSession イベント

HTTP リクエストが不明または期限切れのセッション ID を提示した際に、アプリケーションが対処方法を決定できるよう発火します。

構文

property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object

デフォルト値

解説

OnInvalidSession は、受信した HTTP リクエストに SessionList に存在しないセッション Cookie 識別子が含まれているときに発生します(セッションが期限切れになったか、このサーバーで作成されていません)。AInvalidSessionID は拒否された識別子で、VContinueProcessing はハンドラーが次の処理を決定できます: True のままにするとリクエストのディスパッチを続行します(OnCommandGet からログインページへのリダイレクトを提供するのに便利)。False に設定するとパイプラインをここで停止します。その場合、アプリケーションは返す前に AResponseInfo を設定する必要があります。このイベントは SessionState が True の場合にのみ発生します。

使用例


procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
  const AInvalidSessionID: String);
begin
  AResponseInfo.Redirect('/login');
  VContinueProcessing := False;
end;

イベントに戻る