2

我在 application.conf 中设置 application.session.httpOnly=true 并生成一个war文件并部署在tomcat上。

我仍然看到生成为 HttpOnly=No 的 cookie 并且它是可编辑的。

这是在 tomcat 6(即 servlet api 2.x)上运行的 play 1.x 的问题。显然,cookie 的 http only 标志仅在 servlet 3.0 中引入,因此仅在 tomcat 7+ 中可用

到目前为止,有没有人为此确定了解决方法(所以我可以在 tomcat 6.x 上播放 1.x 的 http only cookie)?tomcat 上下文中的 httpOnly 标志仅适用于 tomcat 的 jsessionid cookie...

另外,我可以在 servlet 3.0 上运行 play 1.x 应用程序吗?

PS:这也发布在播放框架的谷歌群组上,但我们没有收到回复,因此在 SO 上发布。

4

1 回答 1

0

您应该能够在 tomcat 7 中运行该应用程序。原因是尽管您将部署一个 War 文件,但 Play 没有使用任何 Servlet API,所以这应该不是问题。也就是说,问题可能是生成战争文件的插件,恐怕我没有经验。

在变通方法中,唯一的方法是使用 Play 提供的集成服务器。如果您在 Tomcat 中运行,Tomcat 会设置规则,因此不会为您设置 HttpOnly。如果您使用集成的 Netty,那么您将拥有它。

于 2012-11-09T15:50:46.463 回答