Jsf 添加cookie然后发送重定向到不同的域会导致cookie丢失

Jsf 添加cookie然后发送重定向到不同的域会导致cookie丢失,jsf,servlets,redirect,cookies,Jsf,Servlets,Redirect,Cookies,我正在使用response.addCookie添加cookie,然后使用response.sendRedirect重定向到不同域中的URL。Cookie路径已设置为“/” 我在调试模式下观察到,在调用“xhtml”页面之前,检查每个级别的响应对象cookie都丢失了 我正在使用Tomcat 7.0.26。JDK1.7和JSF2.0。这是一种安全违规行为。您不能为不同的域设置响应cookie,而不是将请求发送到的域。通过将cookie域设置为.example.com,带前导句点,您最多可以在不同的

我正在使用
response.addCookie
添加cookie,然后使用
response.sendRedirect
重定向到不同域中的URL。Cookie路径已设置为“/”

我在调试模式下观察到,在调用“xhtml”页面之前,检查每个级别的响应对象cookie都丢失了


我正在使用Tomcat 7.0.26。JDK1.7和JSF2.0。

这是一种安全违规行为。您不能为不同的域设置响应cookie,而不是将请求发送到的域。通过将cookie域设置为
.example.com
,带前导句点,您最多可以在不同的子域(如
foo.example.com
bar.example.com
)之间共享cookie


为您心目中的功能需求寻找另一种解决方案。一个常用的方法是在重定向URL中发送一个长而唯一的自动生成值作为“令牌”作为请求参数。

这里有一个类似的问题和答案-谢谢BalusC,目前是编码方式。奇怪的行为是,如果我在WAS服务器上部署相同的应用程序,并在TomCat服务器上释放它们,则会出现这些cookie:(
HttpServletResponse response = (HttpServletResponse) Facescontext.getCurrentInstance().getExternalcontext().getResponse();
response.addCookie(cookie);
response.sendRedirect("http://different.domain.com/xyz.xhtml");