内容简介:主要涉及内容:main.gologinController.go
主要涉及内容:
- 自动路由
- 过滤器
- session控制
- 表单请求数据处理
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 登录Tomcat管理页面配置实例
- PHP实现一个简陋的注册登录页面
- 软件技术-零基础-Golang用户登录页面
- 软件技术-零基础编写响应式登录页面
- ThinkPHP初学者:写一个简单登录页面(二)
- 如何实现登录、URL和页面按钮的访问控制?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员2005精华本
《程序员》杂志社 / 电子工业 / 2006-1 / 45.00元
本书为集结了《程序员》杂志与《msdn开发精选》杂志精华。分上、下两册,内容包括人物&报道、管理与实践、程序员手册、年鉴、《程序员》技术专题、《msdn开发精选》文章精选等。一起来看看 《程序员2005精华本》 这本书的介绍吧!
RGB转16进制工具
RGB HEX 互转工具
Base64 编码/解码
Base64 编码/解码