moją konfigurację:Usuwanie sesje MongoDB, expressjs, nodejs
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
secret: 'MY SECRET',
store: new MongoStore({
db: 'MY SESSION DB',
host: 'localhost',
port:88888
})
}));
app.use(everyauth.middleware());
app.use(express.methodOverride());
app.use(app.router);
});
app.configure('dev', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
appPort = config.port; //Setting PORT to 8888 in dev mode.
app.use('/public', express.static(__dirname + '/public'));
});
app.configure('production', function(){
app.use(express.errorHandler());
appPort = config.port;
//Set cache-header-expires to 1 day
var oneDay = 86400000;
//app.use('/public', express.static(__dirname + '/public'));
app.use('/public',express.static(__dirname + '/public', { maxAge: oneDay }));
});
Teraz mam link 'wyloguj', który jedzie do/wylogowanie z mojej aplikacji.
AFAIK, express automatycznie zajmuje się sesjami rozliczeniowymi po wylogowaniu. Ale z moją konfiguracją, nie sądzę, żeby to robił. Na przykład, zmienna zwyczaj dołączony do sesji
req.session.custom
nadal przechowuje po wylogowaniu. Jednak po wylogowaniu jest wyczyszczone.
Liczba obiektów sesji w moim magazynie MongoDb rośnie z upływem czasu. Używam również everyauth.
Czego mi brakuje lub robię źle?
Jak mogę usunąć obiekt w moim magazynie sesji Mongo, a także podczas wylogowywania? – Rajat
'req.session.destroy()' usuwa obiekt sesji ze sklepu. – JohnnyHK
Nie sądzę, że req.session.destroy() wyczyści to. Zarówno przed, jak i po wylogowaniu, count() w sklepie to 1, kiedy testuję. Jakaś wskazówka? – Rajat