【发布时间】:2014-03-08 21:05:43
【问题描述】:
在对用户进行身份验证后,他们的详细信息将存储在客户端范围内。当我们重定向到他们的仪表板时,添加到客户端范围的所有新项目都会被擦除。我已经清除了我的 cookie 和缓存,现在很明显没有客户端变量实际上存储在 cookie 中(我在交换应用程序范围之前有一些剩余)。
在我将应用程序从使用 application.cfm 更新为 application.cfc 后开始发生这种情况
我定义了以下应用程序设置:
<cfset this.SessionManagement = true>
<cfset this.ClientManagement = true>
<cfset this.SetClientCookies = true>
<cfset this.sessionTimeout = CreateTimeSpan(0,8,0,0)>
<cfset this.applicationTimeout = CreateTimeSpan(0,8,0,0)>
您能否提出任何为什么客户端变量会消失的原因?
【问题讨论】:
-
在客户端范围内存储变量通常不是一个好主意,如果可能的话,最好使用会话范围。例如阅读dopefly.com/pages/ColdFusionClientVariablesFinalNail.cfm
-
我认为应该尽可能少的存储在session中。在现代浏览器中,这些变量很容易以程序员不希望的方式更改值。
-
您的客户端变量存储使用什么?
-
尽管我同意你们@duncan 的观点,但我并不是要替换现有的古老系统,我只是想将其转换为使用 application.cfc 而不是 application.cfm跨度>
-
“这在我将应用程序从使用 application.cfm 更新为 application.cfc 后开始发生” - 如果您恢复到以前的代码,它会停止发生吗?如果是这样,请一次更改一点,直到找出破坏它的代码。
标签: coldfusion scope