La compensation des séances dans mongodb, expressjs, nodejs
Ma configuration:
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 }));
});
Maintenant, j'ai un lien "se déconnecter" qui va à /déconnexion sur mon application.
Autant que je sache, express prend automatiquement soin de compensation de sessions lors de la déconnexion. Mais avec ma config, je ne pense pas que sa à faire cela. Par exemple, Une variable personnalisée attaché à la session
req.session.custom
tient toujours après déconnexion. Cependant,
req.session.auth
est effacé après la déconnexion.
Le nombre d'objet de session dans mon MongoDb magasin ne sont incrémentation au fil du temps. Je suis à l'aide de everyauth ainsi.
Ce qui me manque ou faire du tort?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez effacer la session de l'utilisateur sur déconnexion, vous pouvez appeler
req.session.destroy()
de votreeveryauth.everymodule.handleLogout
fonction. Seulementreq.session.auth
est désactivée lorsque vous appelezreq.logout()
.req.session.destroy()
supprime l'objet de session à partir de votre magasin.