TsgcWebSocketHTTPServer › イベント › 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;