gpt4 book ai didi

未创建 coldfusion sessionid

转载 作者:行者123 更新时间:2023-12-04 01:23:35 28 4
gpt4 key购买 nike

我有一个使用 application.cfc 的 ColdFusion 9 应用程序,它会像它应该的那样创建 session ,但是当我转储 session 时,有一个 cfid 和一个 cftoken,有时还有 urltoken,但没有 sessionid 和我无法在我的代码中引用 SESSION.SessionID 变量,因为它说它未定义。

什么会导致它可以很好地创建 cfid 和 cftoken 但没有 sessionid?

<cfset THIS.Name = "AppNameRedacted" /> 
<cfset THIS.ApplicationTimeout = CreateTimeSpan( 2, 0, 0, 0 ) />
<cfset THIS.SessionManagement = true />
<cfset THIS.SessionTimeout = CreateTimeSpan( 0, 2, 30, 0 ) />
<cfset THIS.SetClientCookies = true />

编辑:onSessionStart() 函数

<cffunction name="OnSessionStart" access="public" returntype="void" output="false" hint="Fires when the session is first created."> 
<cfset var LOCAL = {} />
<cfset LOCAL.CFID = SESSION.CFID />
<cfset LOCAL.CFTOKEN = SESSION.CFTOKEN />
<!--- Clear the session. --->
<cfset StructClear( SESSION ) />
<cfset SESSION.CFID = LOCAL.CFID />
<cfset SESSION.CFTOKEN = LOCAL.CFTOKEN />
<!--- Return out. --->
<cfreturn />
</cffunction>

最佳答案

这是 the ColdFusion 9 docs概述了您在 session 范围内可以期望的变量以及何时。

在您发布的代码中,您正在 session 范围内执行 structClear(),它会从中删除所有变量。您要放回的唯一两个变量是 CFID 和 CFTOKEN。

关于未创建 coldfusion sessionid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516742/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com