2013-07-22 4 views
5

로그 아웃 한 후 어떻게 캐시 된 페이지 복사본을 사용하지 못하게 할 수 있습니까?로그 아웃 후 브라우저 백 버튼

사용자가 로그 아웃 한 경우 뒤로 버튼을 사용하여 이전 페이지에 액세스 할 수 있습니다.

나는 (SO 답변에 따라) 뒤로 버튼을 비활성화 할 수 없다는 것을 알고 있습니다.

현재 각기 다른 시나리오에 많은 페이지가 있으므로 각 페이지를 수정할 수 없습니다. 내가 만료 헤더를 설정

  1. 을 시도 무엇

    은 (내가이 브라우저 캐시 페이지 내용을? (내가 필요하기 때문에 수행 할 수도 있다면? 각각의 모든 페이지에서이 설정해야 할 사용자가 로그인하면 내용을 캐시하는 브라우저)

  2. 이미 폴링 시스템이 있습니다 (그러나 여전히 감지 지연이 있습니다)
  3. 자바 스크립트 기반 솔루션 (작동하지만 여전히 사용자는 내역 옵션을 사용하여 뒤로 버튼의 길게 누름)

정말 여기 붙어 있습니다. 문제 해결을 도와 주시겠습니까?

+1

왜 그런 짓을하고 싶은지, 세션이 끝난 후에는 아무 것도 할 수없고 클릭이 없어져서 다시 던져 질 것입니다. –

+1

@ Mr.Alien 알겠습니다. 그러나 여전히 고객은 이것이 문제라고 생각합니다. – Red

답변

5

이 코드는 부모 컨트롤러 생성자에서이 코드를 사용하는 데 도움이 될 것이라고 생각합니다.

//Log out Back 
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. 
header("Pragma: no-cache"); // HTTP 1.0. 
header("Expires: 0"); // Proxies. 
+0

후에 무슨 일이 일어날 지 설명해 주시겠습니까? 그가 로그인 한 경우 콘텐츠를 캐시 할 브라우저가 필요합니다. – Red

+0

사이트를 로그 아웃하면 캐시가 지워집니다. 사이트에 로그인하면 캐시는 사용자 로그인 값을 자동으로받습니다. –

+0

은 특정 페이지 또는 전체 도메인을위한 것입니까? – Red

0

이것은 모두 답변입니다.

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

나는 모든 솔루션하지만 브라우저 호환되지 않는 이상 했어요.

그래서 더 좋은 방법은 Ajax 게시 또는 페이지로드 확인에서 var null인지 여부를 확인하는 것입니다.

이 팁에는 제한이 있습니다. 사용자가 브라우저의 뒤로 버튼을 클릭하면 WebMethod가 실행되어 1 초 또는 0.5 초 동안 페이지가 표시됩니다. 어떤 브라우저의 모든 버전에서도 확실하게 작동합니다!

관련 문제