connect中间件session、cookie的使用方法分享


Posted in Javascript onJune 17, 2014

Connect是一个node中间件(middleware)框架。具体不表,看官网介绍 http://www.senchalabs.org/connect/

在app.js中配置下(必须放到app.use(routes);之前)

var connect = require("connect");
app.use(connect.cookieParser());
app.use(connect.session({ secret: 'jiami', cookie: { maxAge: 60*60*24*1000}}));

然后在控制器中使用

//设置
req.session.username="sess_username";
req.session.password="sess_admin";
req.session.your = {username:"sess_name",password:"sess_pwd"};
//使用
console.log(req.session.username);
console.log(req.session.your);

其它方法

//注销session
req.session.destroy(function(err){
 console.log(err);
})
//重新生成sid
req.session.regenerate(function(err){
 console.log(err);
});

当设置了session后,我们看到cookie中多了条sid,是为了记录会话ID的

 

打印req.cookies和req.session对象

console.log(req.cookies);
console.log(req.session);

 

可以看到session是通过存了个connect.sid的方式来与客户端会话的,不过session是存在内存中的

二、cookie,官方文档:(http://www.senchalabs.org/connect/cookieParser.html 这个文档坑了我整整一天时间),费话不表,下面的例子是哥试出来的,因为文档上没写使用方法

设置

//设置cookie
res.cookie("user",{username:"cookie_name",password:"cookie_pwd"},{ maxAge: 60*60*24*1000,httpOnly:true, path:'/'});
res.cookie("msg", "用户名或密码不能为空", {maxAge:60*60*24*1000});

删除

res.cookie("msg", "用户名或密码不能为空", {maxAge:0});

Javascript 相关文章推荐
总结一些js自定义的函数
Aug 05 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
javaScript基础详解
Jan 19 Javascript
jquery插件开发之选项卡制作详解
Aug 30 jQuery
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
关于微信小程序bug记录与解决方法
Aug 15 Javascript
解决vue接口数据赋值给data没有反应的问题
Aug 27 Javascript
vue实现倒计时功能
Mar 24 Vue.js
jquery实现当滑动到一定位置时固定效果
Jun 17 #Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 #Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 #Javascript
IE8中使用javascript动态加载CSS的解决方法
Jun 17 #Javascript
jQuery循环滚动新闻列表示例代码
Jun 17 #Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 #Javascript
javascript 获取HTML DOM父、子、临近节点
Jun 16 #Javascript
You might like
PHP中的Streams详细介绍
2014/11/12 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
javascript document.execCommand() 常用解析
2009/12/14 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
python pandas生成时间列表
2019/06/29 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
python英语单词测试小程序代码实例
2019/09/09 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Python 实现进度条的六种方式
2021/01/06 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
司机的工作范围及职责
2013/11/13 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
2014年新生军训方案
2014/05/01 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书