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

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

时间: 2024-09-25 15:11:19

connect中间件session、cookie的使用方法分享_node.js的相关文章

node.js express安装及示例网站搭建方法(分享)_node.js

1.首先肯定是要安装Node.JS windows cmd依次输入如下命令: cd C:\Program Files\nodejs\ npm install -g express npm install -g express-generator 2.创建一个示例工程 windows cmd依次输入如下命令: cd C:\Program Files\nodejs\node_global express -e microblog //即ejs,-j(即jade) cd microblog npm i

Node.js刷新session过期时间的实现方法推荐_node.js

在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态.那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢?类似于ASP.NET中session会话状态,只要在一定的时间内页面一直保持活动状态,session就不会过期.通过下面的代码可以实现这个功能,我们在Node.js的代码中加入下面的中间件: // use this middleware to reset cookie ex

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

最近因为项目需要,所以研究了一下nodejs的websocket实现,socket.io,这是nodejs后台应用websocket广泛使用的框架. 准备工作 1.安装socket.io,使用命令npm install socket.io 2.windows系统的话,需要vc编译环境,因为安装socket.io的时候,会编译vc代码 游戏基本原理 1.服务器监听客户端的连接 2.客户端连接成功时候,绑定页面移动鼠标事件,事件里处理发送当前坐标给服务器 3.服务器保存一个全局的坐标对象,并以客户端

angularJS 如何读写缓冲的方法(推荐)_node.js

写在前面 1.在客户端.服务端架构中,HTTP协议是主流通信技术: 2.HTTP协议的无状态特性,节省带宽,较少服务器的负载,缓冲技术具有重要的运用:这里主要讲解在客户端浏览器中angular如何读写缓存... 如何实现 1.angular提供了ngCookies模块来实现读写缓存的操作,基于angular的注入该服务就能很容易的操作缓存了,但是本人推荐你使用该方法实现(重构了angular-cookie) /** * Description : 缓冲服务 * Author :maikec *

Node.js编写爬虫的基本思路及抓取百度图片的实例分享_node.js

其实写爬虫的思路十分简单: 按照一定的规律发送 HTTP 请求获得页面 HTML 源码(必要时需要加上一定的 HTTP 头信息,比如 cookie 或 referer 之类) 利用正则匹配或第三方模块解析 HTML 代码,提取有效数据 将数据持久化到数据库中 但是真正写起这个爬虫来,我还是遇到了很多的问题(和自己的基础不扎实也有很大的关系,node.js 并没有怎么认真的学过).主要还是 node.js 的异步和回调知识没有完全掌握,导致在写代码的过程中走了很多弯路. 模块化 模块化对于 nod

node.js中的console.time方法使用说明_node.js

方法说明: 开始时间,与console.timeEnd对应,记录时间段. 语法: 复制代码 代码如下: console.time(label) 接收参数: Label             与开始时间 console.log 的 label 对应 例子: 复制代码 代码如下: console.time('100-elements'); for (var i = 0; i < 100; i++) {   ; } console.timeEnd('100-elements'); 源码: 复制代码

node.js中的console.timeEnd方法使用说明_node.js

方法说明: 完成时间,执行 console.time 到 console.timeEnd 之间所花费的时间. 语法: 复制代码 代码如下: console.timeEnd(label) 接收参数: Label             与开始时间 console.log 的 label 对应 例子: 复制代码 代码如下: console.time('100-elements'); for (var i = 0; i < 100; i++) {   ; } console.timeEnd('100-

node.js中的path.basename方法使用说明_node.js

方法说明: 提取出用 '/' 隔开的path的最后一部分.(8详见例子) 语法: 复制代码 代码如下: path.basename(p, [ext]) 由于该方法属于path模块,使用前需要引入path模块(var path= require("path") ) 接收参数: p                    要处理的path ext                 要过滤的字符 例子: 复制代码 代码如下: var path= require("path")

node.js中的path.delimiter方法使用说明_node.js

方法说明: 方法将返回平台的真实路径,多个用 ":" 或 ";" 隔开. 语法: 复制代码 代码如下: path.delimiter 由于该方法属于path模块,使用前需要引入path模块(var path= require("path") ) 接收参数: 无 例子: 复制代码 代码如下: //在 *nix 系统上的例子:   console.log(process.env.PATH) // '/usr/bin:/bin:/usr/sbin:/s