Response.sendRedirect 重定向Cookie丢失问题

场景:

        本地启动springweb项目和react项目,域名都是localhost,springweb项目根路径/demo,react项目路径/react/index, react使用middlewareproxy代理接口(代理地址/api)请求到springweb项目上

        springweb项目jsp页面(/demo/abc),iframe内嵌同域名下的react前端页面(/react/index),jsp跳转到内嵌的react页面时默认会携带cookie(因为同一个域名下),当react页面内调用spring项目接口时该页面发送请求携带的cookie存在缺失。

        如:spring的web项目下有cookie: 

namevaluepath
c1v1/
c2v2/demo

        react页面发送请求时,只携带了c1的cookie,导致调用spring项目接口缺少必要的参数。

原因:

        react页面和springweb项目虽然是同一个域名,但是当react的proxy设置的接口跟转发根路径与springweb项目不同时,默认发送的请求只会带有域名根路径 / 下的cookie,/demo下的cookie不会携带,所以丢失参数。

解决方式:

        react的proxy设置代理路径为/demo,保持和springweb项目路径一致,就可以把c2的cookie也带上了。


版权声明:本文为fly_leopard原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。