ワイルドカード マッピングを使用する場合の ASP.NET フォーム認証タイムアウトの最善の回避策は何ですか?

StackOverflow https://stackoverflow.com/questions/57739

質問

私のチームはくだらない古い Web サイトで作業していますが、ほとんどのページは依然として ASP クラシックです。ただし、最近、ASP.NET とワイルドカード マッピングを使用したフォーム認証に移行しました。1 つの点を除いて、すべてが驚くほどうまく機能します。ログインしているユーザーのタイムアウトが早すぎます。ログを調べてみると、人々はちょうど 20 分後にタイムアウトしているようです (これは、非アクティブなために指定されたタイムアウトです)。

したがって、私たちの仮説は、ASP クラシック ページは、非アクティブ タイマーをリセットするフォーム認証フレームワークのメカニズムを作動させていないということです。Google で検索し、Great Gu によるワイルドカード マッピングの投稿も読みましたが、この問題を抱えている人はまだ見つかりません。1) この問題を見たことがありますか?2) 最善の回避策は何ですか?(バックグラウンドで愚かな .NET ページを読み込むジャンクな ASP ページごとに手動で隠しフレームを配置する場合を除く)

アップデート: スライド有効期限 に設定されています 真実

また:アプリケーションは 20 分間非アクティブになった後にタイムアウトする必要があるため、永続セッションは使用できません。また、このひどいサイトは、通常、インターフェースがページ内に格納されるように書かれています。JavaScript を組み込むことができる単純なインターフェイス コードはありません。ページの約 80% で呼び出されるインクルード ファイルに js を入れようとしましたが、ファイル ダウンロード バッファーに関する難解な問題が発生したため、別の方法を試さなければならない可能性があります。ありがとう。

役に立ちましたか?

解決

永続セッションを作成します。

基本的に、マスター ページまたはナビゲーション ユーザー コントロール (一貫したナビゲーションに使用しているもの) で JavaScript とイメージ タグを発行することになります。この JavaScript は、一定の間隔で画像タグのソースを http ハンドラー エンドポイント (一部の .aspx、.ashx) に変更し、画像の応答として 1x1 ピクセルのクリア GIF を返します。一定のリクエストにより、アイドル状態のページがセッションを維持することが保証されます。

ブラウザー ウィンドウがページを開いている限り、ASP.NET セッションがタイムアウトになることはありません。

多くの場合、JavaScript はリクエストに乱数を追加して、ブラウザーがリクエストをキャッシュしないようにします。

まともなウォークスルーが利用可能です ここ.

他のヒント

Cookie を手動で作成したと仮定します。その場合、コード内のタイムアウト値が構成内のタイムアウト値をオーバーライドしている可能性があります。

まず、可能であれば (おそらくそうではありませんが) Cookie を手動で作成しないでください。こうすることで、この頭痛の種だけでなく、その他の多くの頭痛の種からあなたを救うことができます。

Cookie を手動で作成する必要がある場合は、使用しているタイムアウトが構成ファイルに設定したタイムアウト値を実際に読み取っていること、およびスライディング有効期限が true (そうであると指定した) に設定されていることを確認してください。

とはいえ、Cookie を手動で作成すると、依然として奇妙なタイムアウトの問題が時折発生します。私が働いている職場では、Cookie が自動的に作成されるようにするソリューションを実装しており、タイムアウトは問題ではなくなりました。ただし、別の問題が発生したため、切り替えを余儀なくされました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top