フォーム認証を使用しているasp.net 4.0アプリケーションで、45分でタイムアウトに設定されています。私はセッションが切れたときにタイムアウトページにユーザーをリダイレクトしたいと思います。誰も私にこれを行う方法を教えてもらえますか?私は.net 4.0を実行しています。フォーム認証を使用してGlobal.asax.csが起動しない
web.configファイルがあります。
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx"
defaultUrl="~/Default.aspx" protection="All" timeout="45"
requireSSL="false">
</forms>
</authentication>
Global.asax.csファイルがあります:
void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/Timeout.aspx");
}
リダイレクトは、リフレッシュ偶数、またはセッションデータをチェックする何らかの種類のajax呼び出しになります。 –
あなたは正しいです。あなたはjQuery idleTimer(http://paulirish.com/2009/jquery-idletimer-plugin/)のようなものを使うことができると思うので、(window.setTimeout)と同じように45分に設定してリダイレクトしますか?それがうまくいくと思いますか?私は45分のアイドル時間を待ち、ログアウト/セッション終了/リダイレクトを強制することができます。 – capdragon
@krefftc:あなたがリンクしているページはあまり読みにくくて迷惑なアニメーションなのであまり読みませんでしたが、アイドルタイマーはユーザーがブラウザでアクティブかどうかを調べようとしています。セッションタイムアウトは、ブラウザがサーバから何かを取得しない限り、ユーザがブラウザ内で何をするかに全く気にしないので、それはまったく影響を受けません。したがって、 'setTimeout'は、セッションがサーバ上でタイムアウトしたときに対応する方が良いでしょう。 – Guffa