2011-07-20 26 views
0

asp.netメンバーシッププロバイダを使用せずにMVCアプリケーションを作成しました。ユーザーがログアウトし、エクスプローラから戻るボタンを押すと、ログインページにリダイレクトします。ログアウト後に戻るボタンをクリックしたときにログインページにリダイレクトする方法はありますか?

おかげクリック「バック」がオンのとき、ユーザーがページを参照として

+0

これを行うとどのような影響がありますか?カスタム認証スキームを正しく実装したと仮定すると、認証されるべきアクションを実行することはできません。 –

+0

ええ、そうなんですけど、管理者ユーザーがすべてのCRUD操作を実行できるページがあります。このページでログアウトをクリックして、最後にログインしたユーザーがページを再度表示している場合は、 、私はカスタムの権限クラスを作成して、ログインしているユーザーの天気を判断します。ビューのコントローラが呼び出されたときに呼び出されます。 – Saad

+0

しかし、誰かが管理者権限を必要とする操作を実行しようとするとどうなりますか?彼らは「アクセスが拒否されました」か、アクションを実行することを許可されていますか?後者の場合は、扱う全体的に異なる問題があります。 –

答えて

2

あなたがこれを行うことはできませんが、実際にはページのキャッシュされたバージョンです。あなたがアクセスできる「戻るボタン」であるべきではありません考えるすべてのページ

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

あなたができる最善のは、あなたが置くだろうこれを行うには、ページにログインしてキャッシュしないようにブラウザを要求しています。

これはリクエストに過ぎませんが、ブラウザはこれを強制する義務がありません。

2

今私は(私はお勧めしません。どのような)...アクションフィルタの

サンプルを、あなたのコントローラ用のフィルタを作成することができ、2つのソリューションで考え、そしてなどのセッション、クッキーによる認証に制御することができますhttp://www.asp.net/mvc/tutorials/understanding-action-filters-cs

2つ目と私の意見では最高の、私は、このリンクを見てみましょう...フォーム認証のように、認証のために、より簡単な何かをpreffer:

http://weblogs.asp.net/fredriknormen/archive/2008/02/07/asp-net-mvc-framework-using-forms-authentication.aspx

私はこのアプローチを自分のプロジェクトで使い、うまくいきます!シンプルで簡単! メンバーシップ・プロバイダーが大変気に入りません。

私はそれがあなたを助けてくれることを願っています!

PS:申し訳ありません、私の英語です!

関連する問題