답변:
Session.Abandon()
세션을 파괴 하고 이 Session_OnEnd 이벤트가 트리거됩니다.
Session.Clear()
단지 모든 값을 제거 개체에서 (내용을). 동일한 키를 가진 세션은 여전히 살아 있습니다.
따라서을 사용 Session.Abandon()
하면 특정 세션이 손실되고 사용자는 새 세션 키를 받게됩니다. 예를 들어 사용자가 로그 아웃 할 때 사용할 수 있습니다.
를 사용하여 Session.Clear()
, 사용자가 (당신이 예를 들어 다시 로그인 사용자를 원하지 않는 경우) 동일한 세션에 남아있는 모든 세션 특정 데이터를 다시 설정합니다.
Session.Abandon()
사용자가 다시 인증 (크롬, FF)을 가지고 있지 않았지만, 배치 세션 내 요구 사항을 충족 발급 새로운 하나 - Windows 인증을 사용하는 내부 응용 프로그램에 '로그 아웃'으로
사용자가 로그 아웃 할 때만 Session.Clear ()를 사용하면 보안 허점이 발생할 수 있습니다. 세션은 웹 서버에 관한 한 여전히 유효합니다. 그런 다음 스니핑하고 세션 ID를 가져와 해당 세션을 탈취하는 것은 합리적으로 사소한 문제입니다.
이러한 이유로 사용자를 로그 아웃 할 때 Session.Abandon ()을 사용하는 것이 더 안전하고 현명하여 세션이 파괴되고 새 세션이 생성됩니다 (로그 아웃 UI 페이지가 새 세션의 일부가 되더라도, 새 세션에는 사용자 세부 정보가 없으며 새 세션을 하이재킹하는 것은 새 세션을 갖는 것과 동일하므로 음소거됩니다.)