TsgcWebSocketHTTPServer이벤트 › OnInvalidSession

OnInvalidSession 이벤트

HTTP 요청이 알 수 없거나 만료된 세션 ID를 제시할 때 발생하므로 애플리케이션이 어떻게 반응할지 결정할 수 있습니다.

구문

__property TIdHTTPInvalidSessionEvent OnInvalidSession;
// typedef void __fastcall (__closure *TIdHTTPInvalidSessionEvent)(TIdContext * AContext, TIdHTTPRequestInfo * ARequestInfo, TIdHTTPResponseInfo * AResponseInfo, bool &VContinueProcessing, const UnicodeString AInvalidSessionID);

기본값

설명

OnInvalidSession은 들어오는 HTTP 요청이 SessionList에 식별자가 없는 세션 쿠키를 가지고 있을 때(세션이 만료되었거나 이 서버에서 생성된 적이 없음) 발생합니다. AInvalidSessionID는 거부된 식별자이고 VContinueProcessing은 다음에 무슨 일이 일어날지 핸들러가 결정하게 합니다. 요청 디스패치를 계속하려면 True로 두고(OnCommandGet에서 로그인 페이지로 리디렉션을 제공하는 데 유용), 여기서 파이프라인을 중지하려면 False로 설정하십시오. 후자의 경우 애플리케이션은 반환하기 전에 AResponseInfo를 채워야 합니다. 이 이벤트는 SessionState가 True일 때만 발생합니다.

예제


void OnInvalidSession(TIdContext *AContext, TIdHTTPRequestInfo *ARequestInfo,
  TIdHTTPResponseInfo *AResponseInfo, bool &VContinueProcessing,
  const UnicodeString AInvalidSessionID)
{
  AResponseInfo->Redirect("/login");
  VContinueProcessing = false;
}

이벤트로 돌아가기