我使用response.addCookie
添加Cookie,然后使用response.sendRedirect
重定向到不同域中的网址。 Cookie路径已设置为“/".
HttpServletResponse response = (HttpServletResponse) Facescontext.getCurrentInstance().getExternalcontext().getResponse();
response.addCookie(cookie);
response.sendRedirect("http://different.domain.com/xyz.xhtml");
我在调试模式下观察并检查每个级别的响应对象在调用“xhtml”页面本身之前cookie丢失了。
我正在使用Tomcat 7.0.26。 JDK 1.7和JSF 2.0。
答案 0 :(得分:0)
这是违反安全规定的行为。您不能为发送请求的域设置不同域的响应cookie。您最多可以在foo.example.com
和bar.example.com
等不同子域之间共享Cookie,方法是将Cookie域设置为.example.com
,并带有前导时段。
寻找您想到的功能要求的另一种解决方案。一种常用的方法是发送一个长的唯一自动生成值作为"令牌"作为重定向网址中的请求参数。