在 Grails 中将 Cookie httpOnly 设置为 false



我目前正在创建一个应用程序,其中我使用如下代码:

session.user = user.username

因此,我创建了JSESSIONID饼干。但我希望我的客户端程序读取这个 cookie;但是由于它被设置为HttpOnly true我无法从客户端获得价值。

应该如何更改cookie Httponly以在圣杯中设置false?以便客户端代码可以读取它们?

谢谢。

httpOnly设置不是 Grails 选项,而是运行应用程序的容器的一个选项(示例中为 Tomcat)。因此,这些变化与Tomcat的关系将超过Grails。

通常,Grails在编译/运行时为Tomcat创建web.xml,虽然您可以使用BuildConfig.groovy中的eventConfigureTomcat来配置Tomcat,但这仅适用于开发和测试环境,而不适用于生产环境。

因此,最好使用安装模板并修改src/templates/war/web.xml,以便为 httpOnly 属性提供正确的值。 <Context httpOnly="false" ... 您可以从他们的官方文档中找到有关配置 Tomcat 的更多信息。

相关内容

最新更新