【问题标题】:ColdFusion session variable is GONE in IE11ColdFusion 会话变量在 IE11 中已消失
【发布时间】:2017-11-16 14:58:09
【问题描述】:

我的 Coldfusion 会话变量在 IE 中失败。我在 FireFox 和 Chrome 中跨页面维护会话没有问题。类似的问题已在此处发布,解决方案是在管理员中检查 J2EE 会话变量。我的不同之处在于我在管理页面中检查了 J2EE 会话,并且我的 Application.cfc 中有以下内容@

<cfset THIS.Name ="New_Site_Version1"/>
<cfset THIS.ApplicationTimeout = CreateTimeSpan(0,0,30,0) />
<cfset THIS.SessionManagement ="YES"/>
<cfset THIS.SessionTimeout = CreateTimeSpan( 0,0,30,0 ) />
<cfset THIS.SetClientCookies = "YES" />

 <cffunction name="OnSessionStart" access="public" returntype="void" output="false">
       <CFIF IsDefined("URL.user_ID")>
       <CFSET SessionObj = New cfcomponents.Main.ManageSessions()>
       <CFSET SessionObj.CreateUserSessions(URL.user_ID)>
    </CFIF>
 </cffunction>

我还在管理中检查了会话 cookie

当我检查时,会话是在 Application.cfc 中创建的,但在我单击链接后不久,它就消失了! 它只发生在 IE 中。

有什么解决办法吗?

【问题讨论】:

  • 可能不相关,但 30 分钟对于应用程序超时来说是一个相当短的设置。我相信默认值是 48 小时。
  • 我改变了它,但这仍处于我的测试阶段。我发现如果我将 IE 浏览器设置降低到“低”(工具>Internet 选项>隐私选项卡),那么问题就会消失。问题是,我的用户每次使用我的网络应用程序时都无法要求他们重置浏览器。这很烦人和令人沮丧。只有我遇到这个问题吗?
  • 究竟是什么导致了会话丢失?当您转到另一个页面时,cookie 是否会丢失?还是当您离开应用程序时它会丢失?什么时候丢失?如果浏览器设置为不保留 cookie……您无能为力。 (嗯,我的意思不是 url 令牌。)
  • 也许 IE 安全设​​置不保留 cookie?

标签: coldfusion application.cfc


【解决方案1】:

“This”应用范围不是“Session”应用范围。在实例化应用程序中其他模块应该可用的变量时,您可能需要检查变量范围。你可以在这里做:

https://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec09af4-7ff1.html

当您实例化 ColdFusion 应用程序时,您会使用此处详述的 CFAPPLICATION 标记:

https://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7d69.html

【讨论】:

    猜你喜欢
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多