我的情况如下: 一方面,我有一个在tomcat中运行的web应用程序,具有spring安全性和tomcat处理的会话。在针对spring进行身份验证之后,tomcat在浏览器中设置会话cookie,将我识别为用户登录。 另一方面,我想开发一个GWT前端,它运行在随SDK一起提供的集成jetty服务器中。 GWT应用程序应该能够通过tomcat应用程序上的AJAX请求调用资源。
我的假设是,GWT应用程序也使用相同的cookie进行身份验证,因为两个应用程序(GWT和tomcat应用程序)都在同一个域(localhost)上运行,唯一的区别是GWT使用端口8888和tomcat 8080 。
不幸的是,从GWT到tomcat webapp的任何请求都会将我重定向到登录页面。我尝试将tomcat的cookie路径设置为“/”,但这没有任何影响。
有人知道如何解决这个问题吗?
我只想在开发过程中使用此设置。在生产模式中,我正在使用tomcat应用程序直接提供GWT代码。
谢谢!
答案 0 :(得分:0)
当用户从您的jetty服务器登录请求时,但在URL中包含cookie字符串。在图片响应中设置cookie。
例如 - 在登录成功页面上,为tomcat设置cookie的那个,添加一个图像链接:
在jetty服务器地图/img.gif上添加cookie“cookiestring”的过滤器(并在那里放置1px x 1px空白图像)。完成后,您的简单单点登录即可。