【问题标题】:Coldfusion enabling J2EE session variables vs Coldfusion session variablesColdfusion 启用 J2EE 会话变量与 Coldfusion 会话变量
【发布时间】:2016-12-16 02:18:20
【问题描述】:

我在我的应用程序中打开了会话管理,发现当我没有在 CF Admin 中打开“使用 J2EE 会话变量”时,会话变量(用户定义以及 cfid 和 cftoken)不会在页面之间持续存在。一旦我打开这个设置,会话变量就会持续存在。下面是application.cfm中的代码

<cfapplication name="myapp"
    applicationtimeout="#createtimespan(1, 0, 0, 0)#"
    sessionmanagement="yes"
    sessiontimeout="#createtimespan(1, 0, 0, 0)#"
    clientmanagement="no">

“使用 J2EE 会话变量”和“启用会话变量”都在 CF 管理员中打开。

当我创建一个示例应用程序时,在我的个人笔记本电脑上一切正常(我没有在此处打开 J2EE 会话变量)。

有人可以澄清为什么会出现这种差异。为什么只有打开 J2EE 会话时会话变量才会在页面之间持续存在?

【问题讨论】:

  • 我建议您的应用程序名称中不要有空格。我怀疑这是导致错误的原因,但我会更新一些内容。
  • @MattBusche:去掉名字中的空格还是一样
  • 您在不同的浏览器中看到相同的行为吗? cfidcftoken 只是通过的 cookie。不知道为什么你会遇到问题。更改该设置后,可能需要重新启动 ColdFusion 服务器(我不确定)。无论如何,您都应该使用 Java EE 会话。 stackoverflow.com/questions/12397599/…
  • 谢谢米格尔。我现在正在使用 J2EE 会话变量。

标签: coldfusion session-variables coldfusion-8


【解决方案1】:

在 CFIDE 管理页面中查看您的全局会话超时设置。

这将始终覆盖所有应用程序中的所有设置。

【讨论】:

  • 这将始终覆盖所有应用程序中的所有设置 - 如果您在 ColdFusion 管理员的“设置”页面上启用了每个应用程序的设置,则不会。那么反之亦然; Application.cfc 文件中的设置会覆盖管理员设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2021-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多