【发布时间】:2017-07-23 11:56:34
【问题描述】:
我有一个使用noir.session 的ring webapp,如下所示:
(def app (-> app-routes
(session/wrap-noir-session)
(wrap-defaults site-defaults))) ; both from ring.middleware.defaults
但是,似乎会话变量在请求之间丢失了。即使客户端提供了Cookie 标头,服务器也会继续发送Set-Cookie 标头。
通过反复试验,我发现当我按如下方式禁用环的防伪包装器时,相同的会话存在于请求中:
(def app (-> app-routes
(session/wrap-noir-session)
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
但我当然不希望那样。为什么会这样?如何在不冒 CSRF 攻击的情况下解决我的问题?
【问题讨论】: