TsgcWebSocketHTTPServer › Events › OnInvalidSession
当 HTTP 请求携带未知或已过期的会话 ID 时触发,以便应用程序决定如何响应。
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession 在传入 HTTP 请求携带的会话 Cookie 标识符不在 SessionList 中(会话已过期或从未在此服务器上创建)时触发。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;