TsgcWebSocketHTTPServer › Eventi › OnInvalidSession
Viene generato quando una richiesta HTTP presenta un ID di sessione sconosciuto o scaduto, in modo che l'applicazione possa decidere come reagire.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession viene generato quando una richiesta HTTP in entrata porta un cookie di sessione il cui identificatore non è presente in SessionList (la sessione è scaduta o non è mai stata creata su questo server). AInvalidSessionID è l'identificatore rifiutato e VContinueProcessing consente al gestore di decidere cosa accade in seguito: lasciarlo a True per continuare a smistare la richiesta (utile per servire un reindirizzamento a una pagina di login da OnCommandGet) oppure impostarlo a False per arrestare qui la pipeline; in tal caso l'applicazione dovrebbe popolare AResponseInfo prima di tornare. L'evento si attiva solo quando SessionState è True.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;