我在玩具应用程序中使用 gorilla/sessions,并且我想使用 FilesystemStore,但如果我将MaxAge存储选项设置为 0,它会在保存会话时尝试删除会话,但如果会话是新的,它没有 ID:
sess, err := s.store.Get(r, "session-name")
if err != nil {
log.Printf("error getting session %v", err)
http.Error(w, "session", http.StatusInternalServerError)
return
}
sess.Values["name"] = r.FormValue("name")
if err = sess.Save(r, w); err != nil {
log.Printf("error saving session %v", err)
http.Error(w, "saving", http.StatusInternalServerError)
return
}
http.Redirect(w, r, "/view", http.StatusFound)
我得到的错误是:
2019/10/15 09:22:03 error saving session remove sessions\session_: The system cannot find the file specified.
查看 Gorilla 代码,似乎 Gorilla 代码在确定会话是否有 ID 之前尝试从存储中删除会话。
我的问题是 Gorilla 的问题,还是我使用它的方式的问题?
MaxAge不设置时一切正常0,但随后我必须自己管理cookie。
慕田峪9158850
相关分类