4

express-session是express中比较常用的处理session的中间件,使用npm安装:

$ npm install express-session save

session的认证机制必须依赖cookie,所以还应该同时安装一个cookie-parser,安装方法同上。然后再app.js中导入这两个中间件:

var cookieParser = require('cookie-parser');
var session = require('express-session');

之后定义cookie解析器,注意,该定义必须写在路由分配之前:

app.use(cookieParser());
app.use(session({
  secret: '12345',
  name: 'name',
  cookie: {maxAge: 60000},
  resave: false,
  saveUninitialized: true,
}));

各参数意义:
secret:用来对session数据进行加密的字符串.这个属性值为必须指定的属性。
name:表示cookie的name,默认cookie的name是:connect.sid。
maxAge:cookie过期时间,毫秒。
resave:是指每次请求都重新设置session cookie,假设你的cookie是6000毫秒过期,每次请求都会再设置6000毫秒。
saveUninitialized: 是指无论有没有session cookie,每次请求都设置个session cookie ,默认给个标示为 connect.sid。

之后在处理请求时直接通过以下方式对session进行读写:

req.session.lastpage = lastPage;//写入至session

res.redirect(req.session.lastpage);//从session中读取


条件状语从句
907 声望87 粉丝

前端开发者