2012-04-01 14 views
0

ログイン後、自分のアプリケーションでホームページに行きます。しかし、ホームページからブラウザの戻るボタンを押すと、システムはログインページに私を送ります。ユーザーにログイン後に戻ることを拒否する

どのようにしてユーザーに抵抗することができますか。彼/彼女がログインしている間に戻るボタンを押すと、システムはログインしていない同じページに彼/彼女を再送します。

+0

なぜあなたはそれを望みますか?このように振る舞うウェブサイトのユーザであると想像してください。あなたがバックボタンを押したときにウェブサイトが無視/無視することを本当に気に入っていますか? – Yahia

+0

oracleフォーラムのようなサイトにログインすると、最初にフォーラムのホームにログインしたときにログインした後、戻るボタンを押すと、エラーページが表示されます。私はそれを実装しようとしている、ユーザーをホームページに置くように。 –

答えて

1

ログインページに、ユーザーが既にログインしているかどうかを確認するスニペットを追加します。ユーザーをログインページにリダイレクトします。

// In the login page 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (User.Identity.IsAuthenticated) 
      Response.Redirect("~/Default.aspx"); 
} 
+0

お返事ありがとうございます。これらのコードスニペットを追加しましたが、ホームページにいる間に戻るボタンを押すと、ログインページのPage_Loadは呼び出されないため、機能しません。 Page_LoadにSystem.Diagnostics.Debug.WriteLineを配置して、呼び出されているかどうかを調べました。しかし、この文は何も印刷されません。つまり、呼び出されていないということです。 –

+0

正しい署名の署名を確認してください。 AutoEventWireup = Trueも使用してください –

+0

AutoEventWireupは以前はtrueに設定されていました。 –

1

このようにしないでください。あなたが達成する唯一のことは迷惑なことです。

戻るボタンは戻ってきます。あなたのLogin.aspxのページの上部に

2

、ログインページをキャッシュからブラウザを防ぐために、次の行を追加します。

<%@ OutputCache Location="None" NoStore="True" %> 

場合次に、Login.aspx.csで、あなたのホームページにリダイレクトユーザーは既にログインしています:

protected override void OnPreInit(EventArgs e) 
{ 
    if (this.Request.IsAuthenticated) 
     this.Response.Redirect("~/Home.aspx"); 

    base.OnPreInit(e); 
} 
関連する問題