在clojure / ring中,如何删除cookie?

时间:2013-01-10 13:18:25

标签: session web-applications cookies clojure ring

假设我想删除一个cookie(例如,ring的会话cookie):

制作这样的回复地图:

{:cookies {"ring-session" {:value "kill", :max-age 1}}}

似乎有效,但感觉有点黑客。

有没有一种干净的方法可以删除它?

3 个答案:

答案 0 :(得分:12)

这似乎是一种非常合理的方式。 Many web a applications删除Cookie会将其替换为即将过期的Cookie。 :max-age 1语法使其看起来比它更加优雅,例如Javascript

答案 1 :(得分:2)

我在ring.middleware中使用了wrap-session和其他处理程序。 将cookie设置为最大年龄并没有在响应中起作用,因为它只是被覆盖(诊断非常令人沮丧!)

这就是我需要做的事情:

(defn clear-session! [resp]
 (assoc resp :session nil))

source

答案 2 :(得分:0)

java code public void abc() { AccountDetailService service = new AccountDetailService(); service.getAccountDetails(); } AccountDetailService @Profile @Log @Component private void getAccountDetails() { String filename=environment.getProperty("fileName"); accountDaoImpl.getDetails(filename); } 似乎不支持此功能,但您可以向用户代理发送一个新的Cookie,其中包含过去的值Expires属性。

more info