【发布时间】:2015-02-07 02:23:57
【问题描述】:
我正在尝试访问环中间件中的基本会话数据,在我的情况下,将用户数据复制到请求中以便于访问。
(def app
(->
(handler/site app-routes)
(wrap-user-auth) ; <--- my middleware
(session/wrap-session {:store (cookie-store {:key "something super secret"})})))
中间件:
(defn wrap-user-auth [handler]
(fn [request]
(println request )
(let [user (get (request :session) :user nil)]
(let [response
(handler
(if-not (nil? user)
(assoc request :user user :is_authenticated? true)
(assoc request :user nil :is_authenticated? false)))]
response
))))
打印请求时会话数据始终为空,即使它已设置并可通过视图访问。我试着弄乱中间件顺序,但不知道为什么原子是空的。
会话数据可用的一些随机路由
(ANY "/foo" request (println (request :session)))
【问题讨论】: