Go语言的Session管理器: SessionManager
目前Go语言标准库没有session处理,所以我根据database/sql/driver的思路整理了定义了一个Provider的接口,只要实现这个接口就可以实现session的处理,有点类似PHP的自己处理session方式,下面这个是代码演示:
var globalSessions *sessionmanager.SessionManager func init() { globalSessions, _ = sessionmanager.NewSessionManager("memory", "gosessionid", 3600) go globalSessions.GC() } func login(w http.ResponseWriter, r *http.Request) { sess := globalSessions.SessionStart(w, r) username := sess.Get("username") fmt.Println(username) if r.Method == "GET" { t, _ := template.ParseFiles("login.gtpl") t.Execute(w, nil) } else { fmt.Println("username:", r.Form["username"]) sess.Set("username", r.Form["username"]) fmt.Println("password:", r.Form["password"]) } }
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!