第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當 MaxAge 為 0 時,gorilla/sessions 無法保存新會話

當 MaxAge 為 0 時,gorilla/sessions 無法保存新會話

Go
交互式愛情 2023-07-31 14:55:43
我在玩具應(yīng)用程序中使用 gorilla/sessions,并且我想使用 FilesystemStore,但如果我將MaxAge存儲選項設(shè)置為 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不設(shè)置時一切正常0,但隨后我必須自己管理cookie。
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經(jīng)驗 獲得超8個贊

如果您檢查Savemethod,您會看到它嘗試刪除與 的會話MaxAge <= 0。實際上,您可以通過這種方式標記需要刪除的會話。由于您正在使用 來創(chuàng)建會話s.store.Get(r, "session-name"),因此它將使用該存儲中的 MaxAge,并且您應(yīng)該將其設(shè)置為大于 0 的值。

設(shè)置 MaxAge 的文檔說:

可以通過為該會話設(shè)置 Options.MaxAge = -1 來刪除單個會話。

但在保存中你可以看到:

如果會話的Options.MaxAge <= 0,則會話文件將從存儲路徑中刪除。

因此,將其設(shè)置為 0 與將其設(shè)置為 -1 或任何其他負值相同。


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號