在 Express 这个框架中,默认不支持 Session 和 Cookie
但是可以使用第三方中间件:express-session ( 基于 Cookie 实现的 ) 来解决
安装
cnpm i -S express-session
配置
app.use(session({
// 配置加密字符串,它会在原有加密基础上和这个字符串拼起来去加密
// 目的是为了增加安全性,防止客户端恶意伪造
secret: 'lucky',
resave: false,
// 默认为 true,意思无论是否使用 Session,都直接分配一把钥匙
saveUninitialized: true
}));
使用
- 当把这个插件配置好之后,我们就可以通过 req.session 来访问和设置 Session 成员
- 添加 Session 数据:
req.session.foo = 'bar'
- 访问 Session 数据:
req.session.foo
- 删除 Session 数据:
req.session.foo = null
(更严谨的写法:delete req.session.foo
)
提示:默认 Session 数据是内存存储的,服务器一旦重启就会丢失,真正的生产环境会把 Session 进行持久化存储