2

アプリケーションのタイムアウトとフォーム認証ループに問題があるようです。アプリケーションは MVC3 ベースで、AJAX を多用しています。ユーザーがアプリケーションで継続的に作業していてアイドル状態でない場合でも、時々追い出され、フォーム認証が 302 エラーでリダイレクト ループに入ることがあります。

アプリケーションは、セッション タイムアウトを 60 ミントに増やしたというプロバイダでホストされています。アプリケーションの web.config 設定は次のとおりです。

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" slidingExpiration="true"/>
    </authentication>

セッション タイムアウトが発生するのはなぜですか? これを防ぐために確認/変更できる設定はありますか?

ありがとうございました、

4

1 に答える 1

3

私はついに何が起こっているのかを理解しました。まず、ベース コントローラーにセッション フィルターがあり、セッション タイムアウトをキャッチしてアカウント/ログオンにリダイレクトしていました。これを削除すると、リダイレクト ループが解消されました。

また、頻繁なセッション タイムアウトの問題を回避するために、セッション変数を使用しないようにコードを変更しました。そして、これは現在解決されています。これが、同様の問題に苦しんでいる他の誰かに役立つことを願っています。コードで使用している可能性のあるカスタム属性フィルターの種類を覚えて確認してください。

于 2013-11-11T09:49:08.027 に答える