在登录时,coldfusion 服务器分配给我 aCFID
和 a CFTOKEN
。稍后使用这些CFID
以及CFTOKEN
如何检查我的会话是否仍然存在。
换句话说,我想要一个函数,它将判断会话是否CFID
与CFTOKEN
这些会话相关CFID
并且CFTOKEN
仍然存在。
谢谢
在登录时,coldfusion 服务器分配给我 aCFID
和 a CFTOKEN
。稍后使用这些CFID
以及CFTOKEN
如何检查我的会话是否仍然存在。
换句话说,我想要一个函数,它将判断会话是否CFID
与CFTOKEN
这些会话相关CFID
并且CFTOKEN
仍然存在。
谢谢
实现这一点的最简单方法是在用户登录时在会话中设置一个标志。
例如
<cfset session.loggedin = true />
那么当你想检查用户是否仍然有一个有效的会话时,你可以做
<cfparam name="session.loggedin" default="false" />
<cfif NOT session.loggedin>
<!--- do something here --->
</cfif>
克里斯的回答没有任何问题,通常是检查会话时的标准规范。
这两个 cookie 旨在将您的浏览器与您的会话“链接”,而不是实际维护该会话(事实上,我相信这些 cookie 将在 30 年内到期(?),如果您使用的J2EE session management
话,甚至会被忽略'我没有弄错)。从文档:
要使用客户端和会话变量,ColdFusion 必须能够识别客户端。它通常通过在客户端系统上设置以下两个 cookie 值来实现:
CFID:顺序客户端标识符
CFToken:随机数客户端安全令牌 这些 cookie 将客户端唯一标识到 ColdFusion,ColdFusion 还维护变量的副本作为会话和客户端范围的一部分。
正如你在这里所读到的,Ben Nadel 做了一些玩弄CFID
,CFTOKEN
CF 使用相同的地方CFID
和CFTOKEN
cookie 在过期后创建新会话。
至于您的“ColdFusion Proper”方式,您可以考虑使用CFLOGIN和其他旨在帮助处理身份验证的安全标签,但我不相信很多人使用它,因为正如 Chris 所展示的那样,维护您的会话非常容易。