나는 socket.io, express 및 세션 저장소로 세션을 사용하는 것에 대한 많은 예제를 읽고 복사했습니다. 그러나, 내가 sessionStore.get()
(또는 sessionStore.load()
)라고 부를 때마다, 내가 돌아 오는 것은 모두 undefined
입니다. 왜?세션 저장소에서 세션을 가져올 수 없습니다.
var app = require('express')(),
session = require('session'),
MongoStore = require('connect-mongostore')(session);
app.use(session({
store: new MongoStore({ 'db': 'sessions' });
}));
io.use(function(socket, next) {
var req = socket.request,
reqCookie = cookie.parse(req.headers.cookie),
sessid = reqCookie['connect.sid']; // == actual session ID
sessionStore.get(sessid, function(err, session) {
err // == undefined
session // == undefined
});
next() ;
});
나는 또한 connect-mongostore
대신에 session.MemoryStore
과 노력, 같은 결과 :
여기 (간체) 내 코드입니다. 그래서 나와 함께 베어링 주셔서 감사합니다, 그것은 세션과 같은에 올 때 나는 안돼서
MemoryStore.prototype.get = function(sid, fn){
var self = this;
console.log(self.sessions); // Output: {}
: 나는 시도하고 sessionStore에서 세션을 로그 아웃 node_modules/express-session/session/memory.js
를 수정했습니다.
업데이트 : 두 시스템과 네트워크에서 코드를 시도했지만 여전히 동일한 결과가 나타납니다.