【发布时间】: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