TsgcWebSocketHTTPServer › Events › OnInvalidSession
Bir HTTP isteği bilinmeyen veya süresi dolmuş bir oturum kimliği sunduğunda tetiklenir, böylece uygulama nasıl tepki vereceğine karar verebilir.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession, gelen bir HTTP isteği, tanımlayıcısı SessionList'te bulunmayan bir oturum çerezi taşıdığında (oturum süresi doldu veya bu sunucuda hiç oluşturulmadı) tetiklenir. AInvalidSessionID reddedilen tanımlayıcıdır ve VContinueProcessing işleyicinin sonra ne olacağına karar vermesine olanak tanır: isteği göndermeye devam etmek için True bırakın (OnCommandGet'ten bir giriş sayfasına yönlendirme sunmak için yararlıdır) veya hattı burada durdurmak için False olarak ayarlayın; bu durumda uygulama dönmeden önce AResponseInfo'yu doldurmalıdır. Olay yalnızca SessionState True olduğunda tetiklenir.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;