1

この質問は以前に尋ねられたことは知っていますが、最善のアプローチについて混乱しているため、もう一度質問することを許してください...

フォーム認証を介してユーザーがログインできるようにするエクストラネットになるMVC3アプリケーションがあります。ユーザーは機密情報にアクセスするため、ログアウト (および FormsAuthentication のサインアウト) 後に誰かが [戻る] を押さないようにするために、すべてのキャッシュを無効にして、ログオン ページへのリダイレクトを強制しました。

セキュリティの観点からはすべてがうまく機能しますが、私の問題は、画像、背景、ロゴなど、ページの安全でない要素をキャッシュしたいことです.

現時点では、すべてのアートワークが毎回ダウンロードされているため、各ページのレンダリングにちらつきが見られます。

もちろん、これは帯域幅にも悪影響を及ぼします。

FormsAuthentication サインアウトの問題の後に恐ろしい [戻る] ボタンを防止しながら、アートワーク、css、スクリプトなどがキャッシュされるようにキャッシュを制御するにはどうすればよいですか?

前もって感謝します、

サイモン。

4

1 に答える 1

1

画像が動的に生成されないと仮定すると、MVC または IIS を使用して内部的に行うことができます。

内部的には、すべての画像を提供する必要があり、有効期限が切れます。

IIS の使用がはるかに簡単になった場合は、IIS カスタム ヘッダー セクションの有効期限ヘッダーを将来の日付に編集するだけです (過去の日付は自動的に期限切れになります)。画像がキャッシュされないようにする場合は、クエリ文字列を追加します

<img src="image.png?dummy=8sn7ahh2" />

次に、画像もキャッシュされないため、基本的にすべての画像をキャッシュしてから、キャッシュしたくない画像を (クエリ文字列を使用して) ブラックリストに登録します。

IIS7のオン/オフを切り替える方法の良い例を次に示します

于 2012-08-02T11:52:38.347 に答える