我们正在将 Form Runner/Builder 集成到具有自定义持久层的项目中。
现在我们设置了 emptySessionPath="true" 以保持 Orbeon 和我们的 Java 应用程序在同一个会话中。
Orbeon 在持久性 CRUD 调用中传递 jsessionid cookie……除了以下实例……
- 用户连接到我们的 Java 应用并登录,设置了 jsessionid cookie
- 用户在 /fr/OurApp/formtest/edit/3eb4ddcf03f2410084e5578adb1e2a7b 访问现有表单实例(存在会话 Cookie)
- 对我们的自定义持久层进行持久化调用,但不转发 cookie
但是,如果用户首先通过调用 /fr/orbeon/builder/edit/f40efbe298204d16b6474fcdfea4c9fd 来编辑表单本身,这确实会将 cookie 传递给持久层
此时用户可以访问步骤 2 以完成表单实例,并且 cookie 将保留。似乎由于某种原因需要启动表单构建器才能在完成表单时将 cookie 转发到持久层?
关于为什么 cookie 没有在步骤 2 中通过的任何想法?
仅供参考,这是在 Orbeon 3.9 CE 上,在 3.8 中也有相同的行为。使用 VMWare TC 服务器 (Tomcat)。我们的 java 应用程序是 Spring/Grails 应用程序。