检查Session是否仍然存在

时间:2012-12-09 15:19:58

标签: coldfusion coldfusion-9 coldfusion-8 coldfusion-10

在登录时,coldfusion服务器为我分配了CFIDCFTOKEN。稍后使用这些CFIDCFTOKEN如何检查我的会话是否仍然存在。

换句话说,我想要一个需要CFIDCFTOKEN的函数,并会告诉与CFIDCFTOKEN相关的会话是否仍然存在。< / p>

由于

2 个答案:

答案 0 :(得分:7)

实现此目标的最简单方法是在用户登录时在会话中设置标记。

例如

<cfset session.loggedin = true />

然后当你想检查用户是否仍然有一个有效的会话时你可以做

<cfparam name="session.loggedin" default="false" />
<cfif NOT session.loggedin>
  <!--- do something here --->
</cfif>

答案 1 :(得分:1)

克里斯的答案没有错,在检查会议时通常是标准规范。

这两个cookie旨在将您的浏览器与您的会话“链接”,而不是实际维护该会话(事实上,我相信这些cookie将在30年后到期(?),如果您是如果我没弄错的话,使用J2EE session management。来自docs

  

要使用客户端和会话变量,ColdFusion必须能够   识别客户。通常通过设置以下两个来实现   客户端系统上的cookie值:

     

CFID:顺序客户端标识符

     

CFToken:随机数客户端安全令牌这些Cookie唯一地标识客户端   ColdFusion,它还保留变量的副本作为其一部分   会话和客户端范围。

正如您可以阅读here,Ben Nadel在CFIDCFTOKEN做了一些游戏,其中CF使用相同的CFIDCFTOKEN Cookie来创建它过期后的新会议。

至于你的'ColdFusion Proper'方式,你可以调查使用CFLOGINother security tags来帮助处理身份验证,但我不相信很多人们使用它是因为克里斯证明,保持你的会话很容易。