目前Go语言标准库没有sessio处理,所以我根据database/sql/driver的思路整理了定义了一个Provider的接口,只要实现这个接口就可以实现sessio的处理,有点类似PHP的自己处理sessio方式,下面这个是代码演示
varglobalSessios*sessiomaager.SessioMaagerfuciit(){globalSessios,_=sessiomaager.NewSessioMaager("memory","gosessioid",3600)goglobalSessios.GC()}
fuclogi(whttp.ResposeWriter,r*http.Request){sess:=globalSessios.SessioStart(w,r)userame:=sess.Get("userame")fmt.Pritl(userame)ifr.Method=="GET"{t,_:=template.ParseFiles("logi.gtpl")t.Execute(w,il)}else{fmt.Pritl("userame:",r.Form["userame"])sess.Set("userame",r.Form["userame"])fmt.Pritl("password:",r.Form["password"])}}
评论