2011-08-03 16 views
4

は、私は私のweb.configファイルでこのコードを持っている:Windows認証セッションタイムアウト

<system.web> 
    <authentication mode="Windows" /> 
     <sessionState timeout="300" /> 
    </system.web> 

てsessionStateタイムアウトは300であってもそれだけで15〜20分で満了し、セッションデータが失われました。私のアプリケーションプールとすべてのタイムアウトが300分に設定されています。だから問題はWindows認証だけだと思う​​。次に、Windowsの認証を無効にしてその行を削除するだけで、すべて正常に機能します(セッションデータは長期間保存されます)。何が問題なの?事前に

感謝:)

+0

この回答を見ることから始めてください。http://stackoverflow.com/questions/648992/session-timeout-in-asp-net –

答えて

0

Windows認証タイムアウト:

ユーザーがWindows環境にログオンしていると、それがアクティブディレクトリ(ドメイン)によって制御されている場合があるという可能性があります非常に多くの分の非アクティブな時間の後にユーザーを「Windowsセッション」からログアウトさせるためのドメインポリシーを使用すると、これはセキュリティ上の理由から行われます。私は、あなたの次のステップは、Windowsネットワークを担当している人と話をして、それを彼らに渡すことだと思います。

-2

web.configでフォーム認証のタイムアウトを設定しようとしましたか?

<authentication mode="Forms"> 
<forms loginUrl="login.aspx" defaultUrl="home.aspx" name="AuthCookie" timeout="60" path="/" /> 
</authentication> 

これはsystem.webノードに移動する必要があります。そこのタイムアウト(私の例では60)は分数です。

+0

ユーザーはWindows認証の回答を求めています。 – UrsulRosu

5

IISのアプリケーションプールでアイドルタイムアウトが設定されていないことを確認します。その設定のデフォルトは20分です(これにより、タイムアウトがセッションタイムアウトかアイドルタイムアウトによってトリガされたかどうかがわかります)。ほとんどの場合、安全に0に設定してオフにすることができます。

IISでアイドルタイムアウトを確認するには、アプリケーションプールの[詳細設定]に移動します。

アイドルタイムアウトは、アプリのアクティビティに基づいたスライディングウィンドウなので、どのクライアントからのリクエストでもウィンドウがリセットされます。あなたのアプリを軽く使用すると、タイムアウトが頻繁に発生し、アプリプールがリサイクルされます。ユーザーに与える影響は、アクティブだったすべてのセッションが失われ、アイドル状態になってからアプリケーションにアクセスするユーザーは、すべての起動プロセスを実行するまで待たなければなりません。

+1

素晴らしい!これは私のために働いた! :) – Jamo