grails - 没有 cookie 的 HttpSession

标签 grails

我有一个应用程序,由于某些特定的原因,它会与托管服务器进行奇怪的交互。

该应用程序将通过更大的门户访问,并且可以封装在门户显示中,但是它广泛使用了未被门户拦截的 AJAX 请求。这些请求是直接向托管服务器发出的,但是我发现了一个问题。

当第一个 ajax 请求发出时(进入应用程序流的一点点),Ajax 请求没有携带 JSessionId cookie(很明显,因为它将它发送到不同的服务器而不是从它接收它)

是否有一种好的 grails 方法可以找到 AJAX 调用应该与之交互的 session 。我尝试将 grails.views.enable.jsessionid 设置为 true,但这仅在浏览器不接受 cookie 时才有效。

最佳答案

在您在第一次请求时发送回门户的页面上创建一个隐藏的表单输入值,其中包含 jsessionid。然后读取该表单变量,并在发出 AJAX 请求的 javascript 代码中设置 cookie。

我猜这已经可行,跨站点脚本不是问题吗?浏览器将阻止对主页来源以外的域的 AJAX 请求。

关于grails - 没有 cookie 的 HttpSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728417/

相关文章:

grails - Grails服务日志记录未初始化

grails - 如何更改 Grails Spring Security Cookie 路径

java - 将连续尾部输出重定向到 UI

Grails Scaffold Save 静默失败

grails - 简单的 Hello World Grails 表单提交

json - 使用HTTPBuilder和Grails进行REST调用后出现奇怪的 “new”属性

grails - 在grails中将新项插入 “hasMany”对象时对其执行操作

grails - Grails应用程序在IntelliJ中编译,但是当我从命令行运行 “compile”时无法编译

spring - Grails 应用程序每隔几个小时就会停止响应

flash - 执行时grails在 View 中显示Flash消息