在我的客服系統專案中,我使用的gin框架沒有自帶session功能,需要經過下面的整合處理
使用的是 github.com/gin-contrib/sessions
在我的tools包下
package tools import ( "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie" "github.com/gin-gonic/gin" ) // 中間件,處理session func Session(keyPairs string) gin.HandlerFunc { store := SessionConfig() return sessions.Sessions(keyPairs, store) } func SessionConfig() sessions.Store { sessionMaxAge := 3600 sessionSecret := "kefu" var store sessions.Store store = cookie.NewStore([]byte(sessionSecret)) store.Options(sessions.Options{ MaxAge: sessionMaxAge, //seconds Path: "/", }) return store }
gin框架use一下這個中間件
engine.Use(tools.Session("kefu"))
實際存盤資料和讀取資料
func GetCaptchaV2(c *gin.Context) { session := sessions.Default(c) session.Set("name", "red") session.Save() }
func GetCaptchaV2(c *gin.Context) { session := sessions.Default(c) session.Get("name") }
上面就是存盤一個鍵值對,然后讀取這個key的值,這個是基于cookie實作的,也就是內容被加密存盤在cookie里面了,
每次從cookie里讀取并解密出來,還有其他存盤引擎就不進行測驗了,
利用這個seesion功能可以實作登錄狀態驗證,或者我后面的驗證碼的驗證實作,
十年開發經驗程式員,離職全心創業中,歷時三年開發出的產品《唯一客服系統》
一款基于Golang+Vue開發的在線客服系統,軟體著作權編號:2021SR1462600,一套可私有化部署的網站在線客服系統,編譯后的二進制檔案可直接使用無需搭開發環境,下載zip解壓即可,僅依賴MySQL資料庫,是一個開箱即用的全渠道在線客服系統,致力于幫助廣大開發者/公司快速部署整合私有化客服功能, 開源地址:唯一客服(開源學習版) 官網地址:唯一客服官網轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539321.html
標籤:其他
下一篇:【manim】之滾動字幕
