【发布时间】:2013-12-29 08:51:00
【问题描述】:
在使用 Coldfusion 会话(不是 J2EE)时,<cfset StructClear(Session)>
不会结束会话,它会删除CFID,CFTOKEN and SESSIONID,但不会删除URLTOKEN。
在后续请求中,它不会启动新的 SESSION 并继续保持旧的会话。
我的问题是,现在在 SESSION 范围内没有CFID and CFTOKEN Coldfusion 如何维护 SESSION?
就像以前我想的那样,每次 ColdFusion 服务器检查请求标头中发送的 cfid 和 cftoken 以及会话范围中存在的 cfid 和 cftoken 以维护会话。但我认为我错了,因为会话中没有 cfid 和 cftoken范围也 Coldfusion 继续保持 SESSION。
那么 ColdFusion 如何在内部管理会话,我的意思是它如何决定继续旧会话还是创建新会话?
【问题讨论】:
-
如果你真的想删除一个会话并且你正在使用 ColdFusion 10,你可以使用新的
SessionInvalidate()函数。它将清除会话范围并使服务器上的 CFID、CFTOKEN 值无效。但是,请记住,如果您使用的是 J2EE 会话,它将不起作用。 -
是的,我试过了,
sessionInvalidate()工作正常,因为它调用onSessionEnd()来结束会话。
标签: session coldfusion coldfusion-9