是否有支持完全由客户端管理的会话的框架?换句话说,不是只在 cookie 中存储签名的 pid(如 Express 那样),而是存储所有上下文......这样您就可以跨集群管理状态而无需持久化。
问问题
3188 次
1 回答
1
有支持这一点的快速中间件:
https://github.com/expressjs/cookie-session
cookieSession()
提供基于 cookie 的会话,并填充 req.session。该中间件采用以下选项:
- name - cookie 名称,默认为“ session ”
- keys - 防止篡改的密钥列表
- secret -如果未指定密钥,则用作单个密钥
- options - 附加选项,例如安全、httpOnly、maxAge 等。
中间件:
var cookieSession = require('cookie-session')
...
app.use(cookieSession({
name: "my_session_cookie",
secret: "dont_tell_anybody_the_secret_and_change_it_often",
options: { ... }
));
app.use((req, res, next) => {
// set options on req.session before your response goes out
req.session.viewCount = (req.session.viewCount || 0) + 1;
res.end(`You viewed the page ${req.session.viewCount} times.`);
});
要清除 cookie,只需在响应之前将会话分配为 null:
req.session = null
于 2013-08-04T17:32:24.497 回答