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

 更新时间:2014年06月17日 11:46:03   投稿:hebedich  
今天大象哥用了下connect的session和cookie,感觉还挺好用的,分享一下(里面坑挺多的,文档写的太模糊了,费了哥不少时间)。

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});

相关文章

  • NodeJS落地WebSocket实践前端架构师破局技术

    NodeJS落地WebSocket实践前端架构师破局技术

    这篇文章主要为大家介绍了NodeJS落地WebSocket实践前端架构师破局技术,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 详细谈谈NodeJS进程是如何退出的

    详细谈谈NodeJS进程是如何退出的

    这篇文章主要给大家介绍了关于NodeJS进程是如何退出的相关资料,主要介绍了导致进程退出的三个因素:主动退出;未捕获的异常、未处理的 promise rejection;未处理的 Event Emitter error 事件 系统信号,需要的朋友可以参考下
    2021-07-07
  • Nodejs极简入门教程(一):模块机制

    Nodejs极简入门教程(一):模块机制

    这篇文章主要介绍了Nodejs极简入门教程(一):模块机制,本文讲解了模块基础知识、模块的加载、包等内容,需要的朋友可以参考下
    2014-10-10
  • Nodejs实现多人同时在线移动鼠标的小游戏分享

    Nodejs实现多人同时在线移动鼠标的小游戏分享

    这篇文章主要介绍了Nodejs实现多人同时在线移动鼠标的小游戏分享,本文给出了服务器端和客户端代码以及运行方法,需要的朋友可以参考下
    2014-12-12
  • iPhone手机上搭建nodejs服务器步骤方法

    iPhone手机上搭建nodejs服务器步骤方法

    这篇文章主要介绍了iPhone手机上搭建nodejs服务器步骤方法,本文给出了详细的操作步骤以及操作命令,需要的朋友可以参考下
    2015-07-07
  • 关于node+mysql数据库连接池连接

    关于node+mysql数据库连接池连接

    这篇文章主要介绍了关于node+mysql数据库连接池连接,mysql有两种连接方式:一种是直接连接 另一种是池化连接,我们这篇讲的是池化连接,需要的朋友可以参考下
    2023-04-04
  • 详解Node.js中path模块的resolve()和join()方法的区别

    详解Node.js中path模块的resolve()和join()方法的区别

    这篇文章主要介绍了详解Node.js中path模块的resolve()和join()方法的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Node.js重新刷新session过期时间的方法

    Node.js重新刷新session过期时间的方法

    在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态。那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢,接下来通过本文一起学习吧
    2016-02-02
  • nodejs aes 加解密实例

    nodejs aes 加解密实例

    今天小编就为大家分享一篇nodejs aes 加解密实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法

    在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法

    这篇文章主要介绍了在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08

最新评论