在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、cookie的用法 this.Ctx.SetCookie("name", name, maxage, "/") this.Ctx.SetCookie("pwd", Md5([]byte(pwd)), maxage, "/") this.Ctx.GetCookie 2、session控制 beego 内置了 session 模块,目前 session 模块支持的后端引擎包括 memory、cookie、file、mysql、redis、couchbase、memcache、postgres,用户也可以根据相应的 interface 实现自己的引擎。 beego 中使用 session 相当方便,只要在 main 入口函数中设置如下: beego.BConfig.WebConfig.Session.SessionOn = true 或者通过配置文件配置如下: sessionon = true session 有几个方便的方法:
session 操作主要有设置 session、获取 session、删除 session。 3、cookie与session用法 示例: routers/router.go package routers import ( "web/controllers" "github.com/astaxie/beego" ) func init() { beego.Router("/", &controllers.MainController{}) beego.Router("/test_input", &controllers.TestInputController{}, "get:Get;post:Post") beego.Router("/test_login", &controllers.TestLoginController{}, "get:Login;post:Post") } verws/main.go package main import ( _ "web/routers" "github.com/astaxie/beego" ) func main() { beego.BConfig.WebConfig.Session.SessionOn = true beego.Run() } controllers/testInput.go package controllers import ( "github.com/astaxie/beego" ) type TestInputController struct { beego.Controller } type User struct{ Username string Password string } func (c *TestInputController) Get(){ //id := c.GetString("id") //c.Ctx.WriteString("<html>" + id + "<br/>") //name := c.Input().Get("name") //c.Ctx.WriteString(name + "</html>") name := c.GetSession("name") password := c.GetSession("password") if nameString, ok := name.(string); ok && nameString != ""{ c.Ctx.WriteString("Name:" + name.(string) + " password:" + password.(string)) }else{ c.Ctx.WriteString(`<html><form action="http://127.0.0.1:8080/test_input" method="post"> <input type="text" name="Username"/> <input type="password" name="Password"/> <input type="submit" value="提交"/> </form></html>`) } } func (c *TestInputController) Post(){ u := User{} if err:=c.ParseForm(&u) ; err != nil{ //process error } c.Ctx.WriteString("Username:" + u.Username + " Password:" + u.Password) } controllers/testLogin.go package controllers import ( "github.com/astaxie/beego" ) type TestLoginController struct { beego.Controller } type UserInfoV2 struct{ Username string Password string } func (c *TestLoginController) Login(){ name := c.Ctx.GetCookie("name") password := c.Ctx.GetCookie("password") //do verify work if name != ""{ c.Ctx.WriteString("Username:" + name + " Password:" + password) }else{ c.Ctx.WriteString(`<html><form action="http://127.0.0.1:8080/test_login" method="post"> <input type="text" name="Username"/> <input type="password" name="Password"/> <input type="submit" value="提交"/> </form></html>`) } } func (c *TestLoginController) Post(){ u := UserInfoV2{} if err:=c.ParseForm(&u) ; err != nil{ //process error } c.Ctx.SetCookie("name", u.Username, 100, "/") c.Ctx.SetCookie("password", u.Password, 100, "/") c.SetSession("name", u.Username) c.SetSession("password", u.Password) c.Ctx.WriteString("Username:" + u.Username + " Password:" + u.Password) }
|
请发表评论