TsgcWebSocketHTTPServer › Événements › OnInvalidSession
Se déclenche lorsqu'une requête HTTP présente un ID de session inconnu ou expiré afin que l'application puisse décider comment réagir.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession est déclenché lorsqu'une requête HTTP entrante porte un cookie de session dont l'identifiant n'est pas présent dans SessionList (la session a expiré ou n'a jamais été créée sur ce serveur). AInvalidSessionID est l'identifiant rejeté et VContinueProcessing permet au gestionnaire de décider de la suite : laissez-le sur True pour continuer à distribuer la requête (utile pour servir une redirection vers une page de connexion depuis OnCommandGet) ou définissez-le sur False pour arrêter le pipeline ici ; dans ce cas l'application doit renseigner AResponseInfo avant de retourner. L'événement ne se déclenche que lorsque SessionState est True.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;