当用户处于非活动状态时,如何结束会话?

How can i end session when user was inactive

本文关键字:结束 会话 何结束 用户 于非 活动状态      更新时间:2023-09-26

大家好,我已经看到了几个关于会话的例子。但是我想知道以下工作是否符合我的要求。我的要求,我将有一些页面,用户可以访问。如果用户访问一个页面,如果他没有执行任何操作5分钟左右,我想重定向到他的默认页面可用。这就是我所做的

<authentication mode="Forms">
<forms timeout="50"/>
</authentication>
<sessionState timeout="5"  />

我写的脚本如下

<script language="javascript" type="text/javascript">
var maxInactiveInterval = 120;
function startCountdown() {
window.setTimeout(alertSessionTimeout, ((maxInactiveInterval - 60) * 1000));
 }
  function alertSessionTimeout() {
  alert("You're session is going to timeout in 1 minute.");
 }
</script>

在我的代码体中调用这个脚本,如下所示

body onload="startCountdown();">

我想知道它是否按照我的要求工作,以及最好的方法来告诉用户,会话将在几分钟内到期,当他是不活跃的

你为什么不依赖IIS,在那里你可以设置会话超时,或者你可以在你的Web中进行更改。配置文件,设置会话超时时间/分钟。而不是写脚本。

类似:

<configuration>
  <system.web>
     <sessionState timeout="20"></sessionState>
  </system.web>
</configuration>

编辑

我希望你看过这篇关于在会话超时之前提醒用户的文章:. NET更好地实现你想要的。

您可以通过Jquery的空闲超时插件

来实现这一点http://philpalmieri.com/2009/09/jquery-session-auto-timeout-with-prompt/

http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/