ColdFusion会话与J2EE会话

nos*_*leg 6 coldfusion session java-ee

ColdFusion会话与J2EE会话有什么好处吗?

ColdFusion的会议文件中提到J2EE会话的好处,而不是ColdFusion的会话的任何好处.自ColdFusion MX(2002年发布)以来,J2EE会话已经可用,但仍有很多人使用标准的ColdFusion会话.是否存在ColdFusion会话不存在的J2EE会话的任何缺点?

与ColdFusion会话管理相比,J2EE会话管理具有以下优势:

  • J2EE会话管理使用会话特定的会话标识符jsessionid,该标识符在每个会话开始时重新创建.
  • 您可以在ColdFusion页面和您从ColdFusion页面调用的JSP页面或Java servlet之间共享会话变量.
  • 会话范围是可序列化的(可转换为字节序列,以后可以完全恢复到原始对象中).使用ColdFusion会话管理,会话范围不可序列化.只能在服务器之间共享可序列化的作用域.

因此,请考虑在以下任何情况下使用J2EE会话管理:

  • 您希望最大化会话安全性,尤其是在您还使用客户端变量的情况下
  • 您希望在单个应用程序中共享ColdFusion页面与JSP页面或servlet之间的会话变量.
  • 您希望能够在维护客户端标识cookie的同时手动终止会话,以供客户端范围使用.
  • 您想支持群集会话; 例如,支持服务器之间的会话故障转移.

nos*_*leg 1

ColdFusion 中 J2EE 会话变量的主要缺点之一是诸如使它们成为“安全”cookie之类的更改发生在实例范围内。

这意味着在该实例上运行的每个站点都必须在 https 下运行,包括 ColdFusion 管理员本身。对于托管多个需要会话的站点的服务器,这通常会出现问题。此外,如果您从内置 Web 服务器运行 ColdFusion Administrator,则需要一些过程才能使其在 ssl 下工作。

如果您需要记录 J2EE cookie 的优点,并且需要 cookie 的安全,那么所有需要会话的站点都必须位于 https 上。

如果您不需要 J2EE cookie 的任何已记录的优点,并且您正在运行 CF9 或更高版本,那么您最好使用 ColdFusion cookie。

请注意,Railo 仍然存在相同的问题,但具有更大的灵活性,因为cfapplication标签具有一个属性,您可以在每个站点的基础上sessiontype选择会话cookiej2ee或会话 cookie。cf