【问题标题】:CQ5 custom tag sets cookie in response, but is is not in response headers when using IE10CQ5 自定义标签在响应中设置 cookie,但在使用 IE10 时不在响应标头中
【发布时间】:2013-06-09 23:12:44
【问题描述】:

我有一些自定义代码(在标签中)将创建一个 cookie 并将其发送到浏览器。此代码适用于 Chrome、Firefox 和 IE9,但由于某些原因在 IE10 中,cookie 甚至不会在响应标头中发送!

创建 cookie 的代码只是 Java 标准:

Cookie cookie = new Cookie("recently-viewed-producs-cookie", encryptedCookie);
cookie.setPath("/");
cookie.setDomain(getSlingRequest().getServerName());
cookie.setMaxAge(COOKIE_AGE_IN_SECONDS);
getSlingResponse().addCookie(cookie);

有人知道为什么会发生这种情况吗?我加密了我的 cookie 的内容,所以没有无效字符(我相信)。

其他由 CQ5 创建的 cookie 被发送并被浏览器保存。我检查了浏览器的 cookie 设置,它被设置为接受所有内容,包括会话 cookie。

欢迎提出任何建议!

【问题讨论】:

    标签: cookies internet-explorer-10 setcookie aem


    【解决方案1】:

    我做了一些研究,发现 IE 只接受有过期日期的 cookie。见这里:Persistent cookies from a servlet in IE

    我会尝试使用 apache commons cookie 类:http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/Cookie.html。这允许您设置到期日期。

    【讨论】:

      【解决方案2】:

      试试这个 响应.addHeader( 设置 Cookie:=[; =]... [;过期=][;域=] [;路径=][;安全的][; httponly]), 记住每个分号后面都有空格

      我从这里得到的 http://msdn.microsoft.com/en-us/library/windows/desktop/aa384321(v=vs.85).aspx

      【讨论】:

        猜你喜欢
        • 2016-10-18
        • 2019-04-01
        • 2020-02-09
        • 1970-01-01
        • 2019-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        相关资源
        最近更新 更多