<cfcookie ... =“”>仅在本地导致错误

时间:2015-07-21 14:18:57

标签: coldfusion coldfusion-11

我正在使用的代码在OnSessionStart的{​​{1}}函数中包含以下几行:

Application.cfc

在我的LocalHost上,这些行在我第一次尝试加载应用时触发错误(“SDPION中未定义元素CFID”)。但是当我刷新时,它会正常加载。

在部署的环境(DEV和PROD)上,它运行正常,没有错误。

我查看了代码,并确定代码不会明确读取这些cookie,因此我在LocalHost中对它们进行了评论。这消除了我的LocalHost上的错误 - 但是当我将更改部署到DEV时,它阻止了LDAP身份验证的完成(即使它已在LocalHost上成功完成)。因此,我不得不改变这种变化。

这给我们带来了一个问题:如何在不影响DEV和PROD中的登录过程的情况下消除LocalHost中的错误?(当然,如果必须,我可以忍受错误 - 但是一致的代码库在两个地方都能以相同和可靠的方式工作,这是非常可取的。)

调试代码非常方便 - 但我怀疑这个问题与配置有关,除了我上面做过的简单实验之外,我真的不知道从哪里开始。

对于拥有比我更多知识和经验的其他人可能有用的要点:

  • LocalHost计算机是Windows(Windows 7)。
  • DEV和PROD环境在Linux上。
  • LocalHost,DEV和PROD都使用相同的登录过程:<cfcookie name="CFID" value="#SESSION.CFID#" /> <cfcookie name="CFTOKEN" value="#SESSION.CFTOKEN#" />
  • 我们在2014年底从所有环境(包括我的LocalHost)中的ColdFusion 9更新到ColdFusion 11。这个问题在ColdFusion 9中没有出现;相反,它是在我更新到ColdFusion 11时开始的。
  • 我无法访问Linux机器(DEV和PROD)上的ColdFusion Administrator,但我当然可以在LocalHost上访问它。

1 个答案:

答案 0 :(得分:1)

考虑在ColdFusion Administrator中启用/禁用J2EE会话变量:服务器设置&gt;记忆变量&gt;使用J2EE会话变量

(在我提出问题的情况下,问题是通过 dis 解决J2EE会话变量来解决的。)