如何在GWT和Tomcat Webapp之间共享cookie?

问题描述

| 我的情况如下: 一方面,我有一个运行在tomcat中的Web应用程序,具有春季安全性和由tomcat处理的会话。在针对spring进行身份验证之后,tomcat在浏览器中设置了一个会话cookie,使我以用户登录的身份来识别。 另一方面,我想开发一个GWT前端,该前端在SDK附带的集成码头服务器中运行。 GWT应用程序应该能够通过tomcat应用程序上的AJAX请求来调用资源。 我的假设是,GWT应用程序也使用相同的cookie进行身份验证,因为两个应用程序(GWT和tomcat应用程序)都在同一个域(本地主机)上运行,唯一的区别是GWT使用端口8888和tomcat 8080。 不幸的是,从GWT到tomcat Webapp的任何请求都将我重定向登录页面。我尝试将tomcat的cookie路径设置为\“ / \”,但这没有任何效果。 有人知道如何解决吗? 我只想在开发过程中使用此设置。在生产模式下,我的目标是让tomcat应用程序直接交付GWT代码。 谢谢!     

解决方法

当用户登录时,从您的码头服务器请求某些内容,但在URL中包含cookie字符串。在图像响应中设置cookie。 例如-在成功登录页面上,为tomcat设置cookie的页面上,添加图像链接: 在码头服务器上,将/img.gif映射到添加cookie \“ cookiestring \”的过滤器(并在那里放置1px x 1px的空白图像)。完成后,您即可进行简单的单点登录。