设为首页 加入收藏

TOP

Beego 学习笔记14:Session控制(一)
2017-12-12 15:04:43 】 浏览:1006
Tags:Beego 学习 笔记 Session 控制

 

 

Session控制

1>     Session常用来作为全局变量使用,比如记录当前登录的用户,或者页面之间传递数据使用.

2>     Beego框架内置了 session 模块,目前 session 模块支持的后端引擎包括 memory、cookie、file、mysql、redis、couchbase、memcache、postgres,用户也可以根据相应的 interface 实现自己的引擎。若是使用标红的部分,需要再下载对应的session包。

3>     在main.go代码中添加启用session方法。具体代码如下:

   

package main

import (
	"fmt"
	"github.com/astaxie/beego/orm"
	_ "BeegoLearn/routers"
    "github.com/astaxie/beego"
)


//初始化
func init(){
	dbhost := beego.AppConfig.String("dbhost")
    dbport := beego.AppConfig.String("dbport")
    dbuser := beego.AppConfig.String("dbuser")
    dbpassword := beego.AppConfig.String("dbpassword")
    db := beego.AppConfig.String("db")

    //注册mysql Driver
    orm.RegisterDriver("mysql", orm.DRMySQL)
	//构造conn连接
	//用户名:密码@tcp(url地址)/数据库
    conn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + db + "?charset=utf8"
    //注册数据库连接
    orm.RegisterDataBase("default", "mysql", conn)

    fmt.Printf("数据库连接成功!%s\n", conn)  
}

func main() {
    o := orm.NewOrm()
    o.Using("default") // 默认使用 default,你可以指定为其他数据库
    //启用Session
    beego.BConfig.WebConfig.Session.SessionOn = true
	beego.Run()
}
package main

import (
	"fmt"
	"github.com/astaxie/beego/orm"
	_ "BeegoLearn/routers"
    "github.com/astaxie/beego"
)


//初始化
func init(){
	dbhost := beego.AppConfig.String("dbhost")
    dbport := beego.AppConfig.String("dbport")
    dbuser := beego.AppConfig.String("dbuser")
    dbpassword := beego.AppConfig.String("dbpassword")
    db := beego.AppConfig.String("db")

    //注册mysql Driver
    orm.RegisterDriver("mysql", orm.DRMySQL)
	//构造conn连接
	//用户名:密码@tcp(url地址)/数据库
    conn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + db + "?charset=utf8"
    //注册数据库连接
    orm.RegisterDataBase("default", "mysql", conn)

    fmt.Printf("数据库连接成功!%s\n", conn)  
}

func main() {
    o := orm.NewOrm()
    o.Using("default") // 默认使用 default,你可以指定为其他数据库
    //启用Session
    beego.BConfig.WebConfig.Session.SessionOn = true
	beego.Run()
}

  

4>     新建一个login.go控制器,编写session的逻辑业务

   

package controllers

import (
	"fmt"
	"github.com/astaxie/beego"
)

type LoginController struct {
	beego.Controller
}
//登录页面
func (c *LoginController) Get() {
	c.TplName = "login.html"
}
//登录功能
func (c *LoginController) Post() {
	name:=c.GetString("name")
	pwd:=c.GetString("pwd")
	islogin:=0
	if name=="admin" && pwd=="123456"{
		c.SetSession("loginuser", "adminuser")
		fmt.Println("当前的session:")
		fmt.Println(c.CruSession)
	}else if name!="admin"{
		islogin=1
	}else if pwd!="123456"{
		islogin=2
	}
	c.Data["json"]=map[string]interface{}{"islogin":islogin};
	c.
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Beego 学习笔记13:Api编写 下一篇Beego 学习笔记12:文件的操作

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目