2012-05-25 3 views
0

로그인 페이지 (Visual Studio 2008, C# 사용)로 작업하고 있습니다. 사용자가 이름과 암호를 입력해야합니다.로그 아웃시 세션 만료

로그인을 클릭하면 홈 페이지로 리디렉션됩니다. 이제 로그 아웃을 클릭하면 로그인 페이지로 리디렉션됩니다. 지금까지는 괜찮습니다.

내 문제는 내가 다시 홈 Page.But에 저를 취하고있다 Back button을 누르면, 여기서 내가 말하는 메시지를 받게하려는 (후 로그 아웃)이 순간에,이다

You are already logged out. Please Login again 

는 안된다고 홈 페이지에 액세스 할 수있게하십시오.

하는 방법 ...?

+0

당신에게 어떤 기술을 사용할 수 있습니까? jsp, ASP, PHP? – MaVRoSCy

+0

나는 그것을 C에서 수행하고있다 # –

답변

1

사용이 코드 :

protected void logout_OnClick(object sender, EventArgs e) 
{ 
Session.Abandon(); 
Response.Redirect("login.aspx"); 
} 

protected void Page_Init(object sender, EventArgs e) 
{ 
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 
} 
+0

이 작동하는지 여부를 확인할 수 있습니다. 근데 무슨 일이 일어난거야? (코드) –

+0

@RanadheerReddy'logout_OnClick'이 당신을 로그인 페이지로 리디렉션합니다. 로그 아웃 후 버튼을 다시 누르면'Page_Init'이 작업을 수행합니다. – Jaguar

+0

예. 감사합니다. 괜찮아. Page_Init 메서드 내에서 "세 줄"에 대해 알고 싶습니다. –

1

모든 응용 프로그램 페이지의 헤더에 세션 상태를 확인하십시오. 나는 일반적으로 $_SESSION['password'] 변수를 사용했다. 세션이 유효하다면 항상 암호가 있었기 때문이다. 코드는 다음과 같습니다.

<% 
    if(!Session['password']) { 
     Response.Write("<script>location.replace('login.aspx?error=loggedOut')</script>") 
    } 
%> 
+0

나는 C에서 그것을하고있다 # –

+0

나는 너무 익숙하지 않아서 C#이므로 구문이 불완전 할 수도있다. 이것은 뒤로 버튼을 포함하여 많은 다른 경우를 처리해야합니다. –

1

로그인 페이지에서 JS 이벤트를 onbeforeunload 처리하고 홈페이지 표시를 방지 할 수 있습니까?

http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm

+0

하지만 로그 아웃 한 후 뒤로 버튼을 클릭하면 홈 페이지의 page_load 함수가 호출되지 않습니다. –

+0

onbeforeunload는 Javascript 이벤트이므로 서버 쪽 page_load는 포함되지 않습니다. 히스토리 페이지 스택의 최상위 페이지가 홈 페이지인지 확인하고 히스토리 백 버튼 기본 조치 인 – rt2800