【问题标题】:ColdFusion sessions are not timing out? Why not?ColdFusion 会话没有超时?为什么不?
【发布时间】:2012-08-06 15:16:27
【问题描述】:

我正在使用 ColdFusion 8。我正在使用这一行来超时会话:

<CFAPPLICATION NAME="XXX" 
CLIENTMANAGEMENT="NO" 
SESSIONMANAGEMENT="Yes" 
sessionTimeout="#CreateTimeSpan(0,0,1,0)#">

我正在创建一个这样的会话:

if (not structKeyExists(SESSION, "UserInfo")) {
    SESSION.UserInfo = structNew();
}

我预计我的会话将在一分钟后超时。这无法正常工作。我已经尝试了所有数字组合,但我的会话永远不会超时。即使整个周末都没有工作(并关闭了我的浏览器),我的会话仍然正常运行。

为什么我的会话不会超时?

编辑〜我的会话没有超时的证据是,我可以访问具有会话范围内特定信息的站点并且它永远不会消失,即使在几周不使用该浏览器之后也是如此。

我们有三个站点,具有三个不同的名称:1) XXXProd、2) XXXStage 和 3) XXXDev。

【问题讨论】:

  • 这是最令人费解的。您在此服务器上使用 Coldfusion 会话还是 J2EE 会话?
  • 是什么让您认为您的会话没有超时?您是否在 SessionEnd() 上记录计时数据?还是您基于刷新浏览器并查看会话 cookie 没有更改?
  • @barnyr,我们正在使用 ColdFusion 会话。

标签: coldfusion session-timeout coldfusion-8


【解决方案1】:

您是否考虑过切换到 J2EE 会话?

<cfscript>
    session.setMaxInactiveInterval(1);
    getPageContext().getSession().invalidate();
</cfscript>
<cfcookie name="jsessionid" expires="now">
<cflocaton url="/" addtoken="false">

这不仅会杀死会话的 cookie 和 ColdFusions 知识,还会杀死底层会话。您也不需要以这种方式进行“无会话”页面请求。

根据您目前的情况,您可以在 Server Monitor 中看到正在创建和销毁的会话吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    相关资源
    最近更新 更多