我使用socket.io并表达并拥有以下代码:
io.set('authorization', function (data, accept) {
if (data.headers.cookie) {
data.cookie = parseCookie(data.headers.cookie);
data.sessionID = data.cookie['express.sid'];
data.sessionStore = session;
session.get(data.sessionID, function (err, session) {
if (err || !session) {
accept('Error', false);
} else {
data.session = new msession(data, session);
accept(null, true);
}
});
} else {
return accept('No cookie transmitted.', false);
}
});
会话是一个全局变量。
问题是,我在调用注销页面时通过调用session.destroy()来尝试结束会话....但它没有结束。还有什么我需要做的吗?
答案 0 :(得分:0)
您必须致电session.destroy(sid, [optional callback function]);
,其中sid是会话ID。以下是Memory Store的代码:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session/memory.js#L79-92