2011-12-21 4 views
0

私はasp.net(C#の)Webアプリケーションで作業しており、ここに私は問題があります。asp.net 4.0でセッション変数をチェックするには?

私は顧客ページ(customer.aspx)を持っており、このページでユーザーは情報を記入できます&ユーザーはすでに登録ユーザーである場合にも更新することができます。

したがって、このページがロードされると、ユーザーがセッション変数を使用しているかどうかをチェックし、セッション変数が設定されている場合、ユーザーは彼/彼女の情報を更新でき、ここではcustomer.aspxで確認するコードです

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Session["customerID"] != null) 
      { 
       //here is my code 
      } 

     } 

が、ログアウト時に私のユーザーのクリックは、すべての罰金になりますが、ユーザーがちょうど私のブラウザ(IE 7.0)のバックボタンを押すと、ユーザは彼/彼女のINFOMATIONを更新するために、これは起こるべきではありませんallowdedされた場合に問題があります。だから私にこの問題の解決策を教えてください。

私logout.aspxコードはここにある:

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

はそう私は、この問題の解決策を提案してください。

答えて

1

キャッシュのクリア

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 

this link may help you

0

ページが読み込まれるのではなく、ページがキャッシュされている可能性があります。

キャッシングがオフになっていること、セキュリティ対策のためにページを読み込むときにセッションの状態を確認し、埋められていない場合はリダイレクトするようにしてください。

 Response.AppendHeader("Cache-Control", "no-cache"); //HTTP 1.1 
     Response.AppendHeader("Cache-Control", "private"); // HTTP 1.1 
     Response.AppendHeader("Cache-Control", "no-store"); // HTTP 1.1 
     Response.AppendHeader("Cache-Control", "must-revalidate"); // HTTP 1.1 
     Response.AppendHeader("Cache-Control", "max-stale=0"); // HTTP 1.1 
     Response.AppendHeader("Cache-Control", "post-check=0"); // HTTP 1.1 
     Response.AppendHeader("Cache-Control", "pre-check=0"); // HTTP 1.1 
     Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.1 
     Response.AppendHeader("Keep-Alive", "timeout=3, max=993"); // HTTP 1.1 
     Response.AppendHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT"); // HTTP 1.1 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
+0

おかげでアダム私はPage_Loadの上でチェックしています私のcustomer.aspxページ上として、彼らはログインしていませんし、それがうまく働いている場合は、それらをredeirectが、問題はブラウザの戻るボタンで、ユーザーが戻るボタンを押すとログアウトした後でも、以前にログインしたユーザーのすべての情報が表示されます。 – Peeyush

+0

キャッシュをクリアする必要があります。キャッシュを停止するコードを表示するために私の答えを更新しました。 –

関連する問題