4. Beego 框架之cookie与session
what is cookie?
cookie是存储在客户端的,用于标识客户身份的!
what is session
session 是存储在服务端,也是用于客户身份标识,用于跟踪用户会话。
BeeGo session保存方式
Beego内置了session模块,目前session模块支持的后端引擎包括memory,cookie,file,mysql,redis,couchbase,memcache、postgres,用户也可以根据相应的interface实现自己的引擎。
beego 启用session
beego中使用session相当方便,只需要在main入口函数中设置如下:
beego.BConfig.WebConfig.Session.SessionOn = true
或者通过配置文件配置如下:
sessionon = true
session 有几个方便的方法
1. SetSession(name string,value interface{})
2. GetSession(name string,) interface{}
3. DelSession(name string)
4. SessionRegenerateID()
5. DestorySession()
拿代码来说话
router.go的代码
package routers
import (
"WEB/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/test_login", &controllers.TestLoginController{}, "post:PostData;get:Login") // 唯一添加了这条
}
controllers的文件夹
testlogin.go
// testlogin
package controllers
import (
"github.com/astaxie/beego"
)
type TestLoginController struct {
beego.Controller
}
func (c *TestLoginController) SelfTest() {
c.Ctx.WriteString("this is myself controller!")
}
func (c *TestLoginController) Login() {
name := c.Ctx.GetCookie("name")
password := c.Ctx.GetCookie("password")
if name != "" {
c.Ctx.WriteString("Username:" + name + "password:" + password)
} else {
formData := `<html><form action="/test_login" method="post">
<input type="text" name="Username">
<input type="password" name="Password">
<input type="submit" value="post">
</html>
`
c.Ctx.WriteString(formData)
}
}
func (c *TestLoginController) PostData() {
u := User{}
if err := c.ParseForm(&u); err != nil {
}
c.Ctx.SetCookie("name", u.Username, 100, "/") // 设置cookie
c.Ctx.SetCookie("password", u.Password, 100, "/") // 设置cookie
c.Ctx.WriteString("username:" + u.Username + " password:" + u.Password)
}
我们通过c.Ctx.SetCookie设置cookie后,你在浏览器输入http://ip:port/test_login,填写用户密码提交以后,再次访问test_login,那么是不需填写用户密码的了,因为已经保存了session与cookie。
4. Beego 框架之cookie与session的更多相关文章
- Go语言之高级篇beego框架之cookie与session
1.cookie的用法 this.Ctx.SetCookie("name", name, maxage, "/") this.Ctx.SetCookie(&qu ...
- Django框架 之 Cookie、Session整理补充
Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...
- Django框架 之 Cookie和Session初识
Django框架 之 Cookie和Session初识 浏览目录 Cookie介绍 Django中的Cookie Session 一.Cookie介绍 1.Cookie产生的意义 众所周知,HTTP协 ...
- Django框架07 /cookie和session
Django框架07 /cookie和session 目录 Django框架07 /cookie和session 1. django请求生命周期 2. cookie 3. session 4. 总结 ...
- Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)
12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...
- Django框架之cookie和session及开发登录功能
1.cookie是什么? Web应用程序是使用HTTP协议传输数据的.HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从 ...
- Beego 学习笔记14:Session控制
Session控制 1> Session常用来作为全局变量使用,比如记录当前登录的用户,或者页面之间传递数据使用. 2> Beego框架内置了 session 模块,目前 ...
- cookie和session的那些事
对于经常网购的朋友来说,经常会遇到一种情况: 打开淘宝或京东商城的首页,输入个人账号和密码进行登陆,然后进行购物,支付等操作都不需要用户再次输入用户名和密码 但是如果用户换一个浏览器或者等几个小时后再 ...
- Python Web框架篇:Django cookie和session
part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...
随机推荐
- Json转list,二层解析转换
一层结构的数据: { "code": "0", "results": { "boyTotal": 0, "cl ...
- # Writing your-first Django-app-part 4-simple-form
简单的表单 处理表单提交-跳转/错误信息 处理表单提交--结果显示 通用view (generic view) 设计:越少代码越好? 1.修改DemoAppPoll/urls.py 2.修改DemoA ...
- html超链接,锚点以及特殊字符
超链接 <a></a>中不加东西是显示不了的. href:跳转的地址 target:_self(本页面打开,默认选项),_blank(新页面打开) title:文本提示 空链接 ...
- git学习(五):git diff魔法
不同参数下git diff输出并不相同,理解了工作区,暂存区和版本库的关系之后就很容易理解diff了. 工作区.暂存区和版本库的目录树浏览 清除工作区中未被git管理的文件 git clean -fd ...
- [uart]linux串口的阻塞非阻塞切换
比如写的时候设置为阻塞,读的时候设置为非阻塞,就需要下面的切换方式 1.获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0); 2.设置文件的fl ...
- 如何在Linux下Redis安装
转载出于:http://blog.csdn.net/jiangguilong2000/article/details/8114740 redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比 ...
- jQuery.countdown倒计时插件
https://github.com/hilios/jQuery.countdown 文档:http://hilios.github.io/jQuery.countdown/documentation ...
- NHibernate 知识点整理
1.实体bool类型属性与数据库映射.如实体中有bool属性IsDelete.配置如下 <property column="IsDelete" name="IsDe ...
- centos5中添加163yum源
1.我们用linux系统的时候,经常需要使用yum.但是如果使用系统自带的yum源时,往往速度很慢,而且经常容易出错.其实国内有很多优秀的开源的yum源.比如(163,sohu,中科大).这里我以16 ...
- ASP.NET MVC分页 Ajax+JsRender
前段时间整mvc的分页,倒是很顺利,参考了以下几篇博客,启发很大. http://www.cnblogs.com/tangmingjun/archive/2012/05/30/2526301.html ...