【问题标题】:Adding cookies while redirecting in play framework在播放框架中重定向时添加 cookie
【发布时间】:2015-04-07 19:17:37
【问题描述】:

我想从我的控制器发送一个重定向(字符串)响应,以将客户重定向到合作伙伴网页。

在重定向之前,我想添加一些 cookie。我试过如下:

response().setCookie(cookie.getName(), cookie.getValue());
return redirect(redirectUrl);

但是,当重定向发生时,cookie 没有设置,因此不会发送到合作伙伴网页。

如何在重定向之前添加 cookie?

问候, 苏拉杰

【问题讨论】:

  • 合作伙伴页面和您的页面是否在同一个域中?
  • 我不知道您的帖子中的 cookie.getName() 和 cookie.getValue() 是什么。似乎您正在获取值而不是设置值。我在单独的答案中编写了设置 cookie 的语法。
  • 合作伙伴域与我们的域不同。
  • cookie.getName() 和 cookie.getValue() :cookie 是“org.apache.http.cookie.Cookie”类型的对象。我们从我们的合作伙伴那里获取 cookie 值,我们必须在重定向期间将它们发回以验证会话。
  • 好的。因此,当域不同时,您需要两个 cookie。请检查下面的长答案。

标签: playframework httpcookie


【解决方案1】:

不能在两个域(子域除外)之间共享 cookie。您需要两个具有相似名称和值的域上的 cookie。这可以通过在您将 cookie 名称和 cookie 值作为查询发送到合作伙伴网站的特殊页面时将访问者重定向到合作伙伴网站来实现。他们在自己的域上设置了 cookie,并将访问者再次重定向回您的网站。

出于安全原因,建议对查询数据进行加密,以防止访问者通过虚假名称和值来模拟其他 cookie。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多