TsgcHTTPServer › Olaylar › 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 tetiklenir (oturumun süresi doldu veya bu sunucuda hiç oluşturulmadı). AInvalidSessionID reddedilen tanımlayıcıdır ve VContinueProcessing, işleyicinin sonrasında ne olacağına karar vermesini sağlar: isteği göndermeye devam etmek için True bırakın (OnCommandGet'ten bir giriş sayfasına yönlendirme sunmak için kullanışlıdır) veya işlem hattını 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;