TsgcWebSocketHTTPServer › Events › OnInvalidSession
Wird ausgelöst, wenn eine HTTP-Anfrage eine unbekannte oder abgelaufene Sitzungs-ID präsentiert, sodass die Anwendung entscheiden kann, wie sie reagiert.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession wird ausgelöst, wenn eine eingehende HTTP-Anfrage ein Session-Cookie trägt, dessen Bezeichner nicht in SessionList vorhanden ist (die Sitzung ist abgelaufen oder wurde auf diesem Server nie erstellt). AInvalidSessionID ist der abgelehnte Bezeichner und VContinueProcessing lässt den Handler entscheiden, was als Nächstes geschieht: Lassen Sie es True, um die Anfrage weiterhin zu verarbeiten (nützlich, um eine Weiterleitung zu einer Login-Seite aus OnCommandGet zu liefern), oder setzen Sie es auf False, um die Pipeline hier zu stoppen; in diesem Fall sollte die Anwendung AResponseInfo vor der Rückkehr füllen. Das Ereignis wird nur ausgelöst, wenn SessionState True ist.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;