node会话管理——express-session

express-session 才是真正在服务端保存数据的中间件,它依赖cookie-parser。

app.js中引入,在 app.use(cookieParser()) 之后挂载:

var session = require('express-session');
app.use(session([options]));

同样说几个常用的 options:

{
    'secret': 'ruidoc',     # 签名,与cookie-parser中cookie设置的签名字符串必须一致
    'cookie': {
        'maxAge': 90000
    },
    'name': 'session_id'    # 在浏览器中生成cookie的名称key,默认是connect.sid
}

因为创建 session 的同时会创建 cookie 来保存 sessionId,所以 options 中的 cookie.maxAge 可看作是 session 的有效时长。

创建session

# 创建一个session
req.session.key = value

# 创建多个session
req.session = {
    key1: value1,
    key2: value2
}

获取session

var session = req.session      # 获取session集合
var value = req.session.key    # 获取名称为key的session的值

销毁session

req.session.destroy()      # 清空所有session
req.session.key.destroy()    # 销毁名称为key的session的值

猜你喜欢

转载自www.cnblogs.com/bq-med/p/8995138.html