TsgcWebSocketHTTPServer › Zdarzenia › OnInvalidSession
Wywoływane, gdy żądanie HTTP zawiera nieznany lub wygasły identyfikator sesji, umożliwiając aplikacji podjęcie decyzji o sposobie reakcji.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
Zdarzenie OnInvalidSession jest wywoływane, gdy przychodzące żądanie HTTP zawiera ciasteczko sesji, którego identyfikator nie jest obecny w SessionList (sesja wygasła lub nigdy nie została utworzona na tym serwerze). AInvalidSessionID to odrzucony identyfikator, a VContinueProcessing pozwala procedurze obsługi zdecydować, co nastąpi dalej: pozostawienie wartości True powoduje kontynuowanie obsługi żądania (przydatne do serwowania przekierowania na stronę logowania z OnCommandGet), natomiast ustawienie wartości False zatrzymuje przetwarzanie; w takim przypadku aplikacja powinna wypełnić AResponseInfo przed zwróceniem. Zdarzenie jest wywoływane wyłącznie, gdy SessionState ma wartość True.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;