beego实现用户未登录跳转到登录页面

栏目: Go · 发布时间: 7年前

内容简介:主要涉及内容:main.gologinController.go

主要涉及内容:

  1. 自动路由
  2. 过滤器
  3. session控制
  4. 表单请求数据处理

main.go

//这里应该加载 "github.com/astaxie/beego/context" 否则会加载src/context
//过滤器
var FilterUser = func(ctx *context.Context){
	_, ok := ctx.Input.Session("uid").(string)
	ok2 := strings.Contains(ctx.Request.RequestURI, "/login")
	if !ok && !ok2{
		ctx.Redirect(302, "/login/index")
	}
}

func main() {
	//注册过滤器
	beego.InsertFilter("/*", beego.BeforeRouter, FilterUser)
	//打开session
	beego.BConfig.WebConfig.Session.SessionOn = true
	setWebAutoRouter()
	beego.Run()
}

//注册自动路由
func setWebAutoRouter(){
	beego.AutoRouter(&controllers.TestController{})
	beego.AutoRouter(&controllers.LoginController{})
}

loginController.go

type LoginController struct{
	beego.Controller
}

type user struct {
	Id int `form:"-"`
	Name string `form:"username"`
	Age int `form:"age"`
	Email string
}

func (this *LoginController) Index(){
	//获取session值
	this.Data["uid"] = this.GetSession("uid")
	this.TplName = "login.html"
}

func (this *LoginController) Register(){
	u := user{}
	//处理表单提交的数据
	if err := this.ParseForm(&u); err != nil{
		fmt.Println(err)
	} else {
		//注册session值
		this.SetSession("uid", u.Name)
	}
	this.Data["uid"] = this.GetSession("uid")
	this.TplName = "login.html"
}

testController.go

type TestController struct{
	beego.Controller
}

func (this *TestController) Index(){
	paramMap := this.Ctx.Input.Params()
	//获取RESTFUL风格的参数
	//此时的URL为 localhost:8080/test/index/aaa/bbb
	this.Data["Website"] = paramMap["0"]		//aaa
	this.Data["Email"] = paramMap["1"]		//bbb

	v := this.GetSession("uid")
	this.Data["uid"] = v.(string)

	this.TplName = "test.html"
}

HTML代码略

参考网址:

https://beego.me/docs/intro/

https://www.jianshu.com/p/f583edfc7a1a


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据之美

数据之美

邱南森 (Nathan Yau) / 张伸 / 中国人民大学出版社 / 2014-2-1 / CNY 89.00

这是一本教我们如何制作完美可视化图表,挖掘大数据背后意义的书。作者认为,可视化是一种媒介,向我们揭示了数据背后的故事。他循序渐进、深入浅出地道出了数据可视化的步骤和思想。本书让我们知道了如何理解数据可视化,如何探索数据的模式和寻找数据间的关联,如何选择适合自己的数据和目的的可视化方式,有哪些我们可以利用的可视化工具以及这些工具各有怎样的利弊。 作者给我们提供了丰富的可视化信息以及查看、探索数......一起来看看 《数据之美》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具