215-beego登录记住用户名

30 篇文章 1 订阅




beego登录记住用户名



本来这是一个非常非常简单的业务
但是自己太粗心
结果搞了好久
真是无语



开始吧


首先我们有登录业务

<form method="post" action="/login">
       <input type="text" name="username" class="name_input" placeholder="请输入用户名" value="{{.username}}">
     
       <input type="password" name="pwd" class="pass_input" placeholder="请输入密码">
       
       <div class="more_input clearfix">
           <input type="checkbox" name="remember" {{.checked}}>
           <label>记住用户名</label>
           
       </div>
       <input type="submit" name="" value="登录" class="input_submit">
</form>



func (this *UserController) ShowLogin() {
	
this.TplName = "login.html"

}



func (this *UserController) HandleLogin() {

	username := this.GetString("username")

	password := this.GetString("pwd")


	this.SetSession("username", username)

	this.Redirect("/index", 302)


}



我把无关代码都删掉了
现在是点登录按钮
就跳转到index页面




现在我们来看一下逻辑
我们点了登录按钮之后
要获取remember是什么状态

func (this *UserController) HandleLogin() {
	username := this.GetString("username")
	password := this.GetString("pwd")
	remember := this.GetString("remember")

	if remember == "on" {
		this.Ctx.SetCookie("username", username, time.Second*60*60*24)
	} else {
		this.Ctx.SetCookie("username", username, -1)
	}

	this.SetSession("username", username)
	this.Redirect("/register", 302)
}

所以这里我们GetString获取remember
如果是on的话
就要设置cookie


然后我们再看显示登录页面

func (this *UserController) ShowLogin() {
	username := this.Ctx.GetCookie("username")

	if username != "" {
		this.Data["username"] = username
		this.Data["checked"] = "checked"
	} else {
		this.Data["username"] = ""
		this.Data["checked"] = ""
	}

	this.TplName = "login.html"
}






 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值