前端开发

 首页 > 前端开发 > nodejs > connect中间件session、cookie的使用方法分享_node.js

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

分享到:
【字体:
导读:
          今天大象哥用了下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 sublime text 3安装与配置_node.j...
1) 下载sublime并安装,下载列表:http://www.jb51.net/softs/132432.html 2) 下载sublime的nodejs插件,需是集成Nodejs插件到sublime中,下载地址:https://github.com/tanepiper/SublimeText-Nodejs 3)   解压zip文件, 并重命名文件夹“Nodejs” 4)   打开sublime,操作"preference" --> "Browse packages", ...
nodejs实现黑名单中间件设计_node.js
黑名单Schema: 复制代码 代码如下: /** * Created by YCXJ-wanglihui on 2014/5/28. */'use strict'; var mongoose = require('mongoose');var Schema = mongoose.Schema; //1.短暂屏蔽 2.永久屏蔽var degree = {TEMP:1, FOREVER:2}; /** * 黑名单 * @type {Schema} * * @param ip {Strin...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……