【问题标题】:Element SESSIONID is undefined in SESSION - CF9元素 SESSIONID 在 SESSION - CF9 中未定义
【发布时间】:2013-10-14 12:24:41
【问题描述】:

请帮忙。我们有一个 CFM 系统,除了少数(3000 多个用户中的不到 10 个)之外的大多数用户都能 100% 工作。所有用户都可以毫无问题地登录并设置会话变量。然后登录页面将它们发送到仪表板。然后,我们使用SessionID 等因素对 URL 字符串进行加密。

但是对于 10 个用户,当他们到达仪表板时,我们会收到错误

Element SESSIONID is undefined in SESSION

到目前为止,我们唯一需要解决的问题是让他们完全关闭浏览器,然后从头开始。其他人都工作正常。

果然,会话结构转储没有SessionID。我知道sessionid 基本上是AppName + CFID + CFToken。如何重新创建 SessionID 而不会将它们发送回登录或丢失已设置的会话变量?

【问题讨论】:

  • 当你转储会话范围时,有什么?
  • 从我这边来说一切都很好。但是从用户方面来看,我们在登录后设置的所有其他变量都在那里......没有CFIDCFTokenSessionID。但是有一个URLToken 的值是CFID=3876607&CFTOKEN=26913357
  • 您在使用 J2EE 会话吗?你有没有类似structDelete(session, 'sessionid')或类似的代码?
  • 我有一个删除会话的代码,然后使其他变量过期。
  • 但是,此代码对 3000 名其他用户 100% 有效。我的困惑是,我们拥有的 3671 个用户中只有大约 10 个存在会话问题。

标签: session coldfusion coldfusion-9 sessionid


【解决方案1】:

SESSIONID 包括“AppName + CFID + CFToken”。因此,每当您想要执行注销功能时,您都需要清除 CFID 和 CFToken。如果您将以下代码放在注销功能下。会修复的。

结构清除(会话);enter code here StructDelete(cookie, 'CFID'); StructDelete(cookie, 'CFToken');

【讨论】:

  • 在 cookie 过期后删除它有什么好处?为什么它适用于 3000 多个用户而不适用于 10 个用户?
猜你喜欢
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2017-11-13
  • 2011-12-07
  • 2018-10-28
  • 2020-10-22
相关资源
最近更新 更多