0

ASP.NETとC#を使用しています。ログアウトをクリックした後、これを使用しています。

Session.Abandon();
Session.RemoveAll();
Page.Responce.Cache.setCacheability(HttpCacheability.NoCache);
Response.Redirect("Default.aspx");

しかし、この後、ブラウザの戻るボタンをクリックすると、前のページに移動します。

これを防ぐ方法はありますか?

ありがとう..

編集:

私はこれを使いました。

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        if (Session["LoginId"] == null)
            Response.Redirect("frmLogin.aspx");
        else
        {
            Response.ClearHeaders();
            Response.AddHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
            Response.AddHeader("Pragma", "no-cache");
        }
    }
}

このため、ブラウザの戻るボタンをクリックすると、ページロードが呼び出され、認証用のセッション変数を確認できます。

4

4 に答える 4

2

リンクを投稿しています。このガイドがあなたをガイドし、必要なものが何でも役立つことを願っています ここをクリック

http://www.dotnetfunda.com/

于 2012-09-22T10:42:23.013 に答える
1

protected void Page_Load(オブジェクト送信者, EventArgs e) { if (!IsPostBack) {

            if (Session["Navigation"] == null)
            {
                Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Cache.SetNoStore();
                Response.Redirect("~/Login.aspx");
            }                                                                               protected void lnkbtnLogOut_Click(object sender, EventArgs e)
    {

        Session["Navigation"] = null;
        Session.Abandon();

        Response.Redirect("~/Login.aspx");
    }                                                                                             but it's not working.It still redirects to prevoios page after click on back button
于 2013-01-18T07:33:29.790 に答える
0

set page attribute <outputcache=none>

于 2012-09-22T10:00:51.123 に答える
0

以下はあなたの方法に役立ちます:

コードはブラウザのキャッシュを無効にします。

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

または

ログアウト後にブラウザの履歴を削除するスクリプトを追加できます。

Page.ClientScript.RegisterStartupScript(this.GetType(),"cle","windows.history.clear",true);

上記の2つのいずれかが機能することを願っています。


変数の可用性を確認Session["---"]できます。セッションが使用できない場合は、ユーザーをログイン/登録ページにリダイレクトします。

私が言いたいのは、あなたはセッションを放棄しているということです。これにより、セッション変数が破壊される可能性があります。そのため、ユーザーが [戻る] ボタンをクリックすると、システムはセッションをチェックしますが、それが見つからないため、ユーザーはログイン/登録ページにリダイレクトされます。

ユーザー管理に組み込みのメンバーシップ クラスを使用している場合は、ユーザーの [Authorize] 属性。これにより、ユーザーがログアウト後にページにアクセスできなくなり、未登録のユーザーがログイン/登録ページにリダイレクトされる場合があります。

于 2012-09-22T10:08:34.123 に答える