簡體   English   中英

如何在 Play Framework 2.5.x /Java 中刪除(會話)cookie

[英]How to remove a (session) cookie in Play Framework 2.5.x /Java

我正在使用 Play 2.5.3。 當用戶執行某些特定操作時,我想刪除會話 cookie。

我的餅干是這樣的。

// Cookie: name, value, maximum age, path, domain, secure, http only Cookie("name", somestring, null, "/", somedomain, false, false)

我已經嘗試過 Play 文檔顯示的內容。

request().discardCookie(name, path, domain)

事實證明它不起作用。 我接下來應該嘗試什么。 任何幫助將不勝感激。

你需要使用

response().discardCookie("name");

在 Scala 中,您需要按如下方式傳遞DiscardingCookie實例: response.discardingCookies(DiscardingCookie("cookie_name"))

看看 Java api 中可能有類似的類。

從 play 2.8 開始,Http.Context 已停止使用。 您現在可以改為使用

return ok().discardingCookies("COOKIE_NAME");

所以基本上對響應的任何更改都需要應用於您的函數直接返回的結果對象,而不是與舊的 response() 方法交互。

我認為你應該使用

response.removeCookie(keyName);
Cookie c = new Cookie("name", "", 0, somepath, somedomain, false, false);
return ok().withCookies(c);

事實證明,↑ 有效。

嘗試將值設置為“”,並將 maxAge 設置為 0。設置其他所有內容

新的 cookie 應該取代舊的。 並且因為 maxAge 為 0 而消失了。

希望這可以幫助某人。 哈哈

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM