为应用程序创建会话超时

Session Timeout creation for application

本文关键字:超时 会话 创建 应用程序      更新时间:2023-09-26

我有一个会话超时需求。这是我的要求。一旦登录到我的应用程序,时间计数应该开始。如果它达到10分钟,它应该给出一个提示

的警报。

要继续吗?

如果客户按"是",会话应该继续,时间重置为0。如果按"No",会话应该关闭,并需要出现错误页面。我需要在javascript和jsp中进行更改。有人知道吗?

在你的框架集文件中,你可以这样写:

<script type="text/javascript">
    window.setTimeout('checkIfContinue()', 10*60*1000);  //10 minutes
    function checkIfContinue()
    {
        if(confirm("Do you want to continue?"))
        {
            window.setTimeout('checkIfContinue()', 10*60*1000);  //start the timer again
        }
        else
        {
            window.location = 'timeout.html';
        }
    }
</script>

当然,如果你需要一个花哨的对话框,那么你需要编写代码,而不是使用javascript函数confirm

我不确定您是否正在寻找完整的代码示例。但简单地说,我想说的是,您应该在客户端使用ajax,大约每分钟ping一次服务器,以查看超时是否已过期。但即便如此,也有一个挑战。服务器告诉客户端,"会话已经过期",但是接下来呢?如果用户没有回答"是",您希望会话超时吗?如果是这样,那么服务器在超时之前要等待多长时间才能收到客户机的反馈?如果用户在30秒内没有点击"是"呢?所以它会变得很粘,你必须决定规则。

如果不采取任何行动,除非用户点击"否",那么这不是一个问题。

然而,我也应该说,我不认为问访问者是否想继续是一个好主意。这会让访问者觉得自己被人纠缠着要离开。