Session 将会话范围限定到Coldfusion应用程序的特定部分?

Session 将会话范围限定到Coldfusion应用程序的特定部分?,session,coldfusion,Session,Coldfusion,是否有一种方法可以通过使用会话启用程序将application.cfm添加到其目录中来启用Coldfusion应用程序的特定部分的会话 例如,具有以下内容的网站: /外联网 /内部网 /贮藏 /租金 我想在租赁部分使用会话变量,独立于内部网和商店中的会话变量。如果您不想共享会话变量,也不需要共享应用程序变量,那么就很容易了。只需将另一个Application.cfc(或.cfm)放在要访问会话变量的上下文的根目录中 因此,如果您希望/extranet中的会话和/intranet中的会话不是同

是否有一种方法可以通过使用会话启用程序将application.cfm添加到其目录中来启用Coldfusion应用程序的特定部分的会话

例如,具有以下内容的网站:

  • /外联网
  • /内部网
  • /贮藏
  • /租金
我想在租赁部分使用会话变量,独立于内部网和商店中的会话变量。

如果您不想共享会话变量,也不需要共享应用程序变量,那么就很容易了。只需将另一个Application.cfc(或.cfm)放在要访问会话变量的上下文的根目录中

因此,如果您希望/extranet中的会话和/intranet中的会话不是同一个应用程序,那么:

/extranet/Application.cfc:

component {
    this.name = "extranet";
    this.sessionmanagement = true;
}
component {
    this.name = "intranet";
    this.sessionmanagement = true;
}
/intranet/Application.cfc:

component {
    this.name = "extranet";
    this.sessionmanagement = true;
}
component {
    this.name = "intranet";
    this.sessionmanagement = true;
}

听起来你并没有真正掌握Application.cfc的所有功能,所以我还要补充一点。有很多东西需要学习,但一旦您了解了它的工作原理,它也非常简单。

也许单点登录(SSO)解决方案适合您?与其在会话结构中胡闹,不如将用户id从一个应用程序传递到另一个应用程序。当用户从extranet转到rentals时,应用程序会说“用户#45来了”,rentals应用程序会在数据库中查找用户,进行一些验证以确保用户是extranet所说的用户,然后在rentals中为他们启动新会话

我已经很久没有用过这些了。我想做的是,当有人试图预订一个属性时,有一个会话ID可以使用并存储在结构中,这样我就可以将结构数据传递给web服务调用,然后清除结构。只需要知道每个页面上谁是谁以及如何访问他们的会话/结构。我需要在参考页面中完成所有这些吗?对不起,我不太明白。你能不能少说一点抽象的话?也许用更具体的信息更新问题。看起来像是更高级别的应用程序。cfm干扰了我的工作。我应该用cfcookie来代替吗?CF文档建议不要对会话变量使用结构函数。有什么影响吗?我猜您看到的建议是不要在会话范围中使用structClear();原因是它不仅删除了您可能放入会话的任何内容,还删除了会话令牌。没有理由不能在会话作用域中使用structDelete()、structKeyExists()等。至于Cookie是否是一种更好的方法,我不能说,因为你还没有清楚地解释你的目标。