Tengo un área/'tablero' restringido en mi aplicación Express. Yo uso una función muy pequeño para limitar el acceso:Node.js y manejo de sesión Express - Problema del botón Atrás
app.get('/dashboard', loadUser, function(req, res){
res.render('dashboard', {
username: req.session.username
});
});
function loadUser(req, res, next){
if (req.session.auth) {
next();
} else {
res.redirect('/login');
}
};
El problema es que cuando un usuario cierre de sesión llamando ...
app.get('/logout', function(req, res){
if (req.session) {
req.session.auth = null;
res.clearCookie('auth');
req.session.destroy(function() {});
}
res.redirect('/login');
});
... la sesión se mató, pero cuando me presionar el botón Atrás en mi navegador obtuve la página restringida de la memoria caché del navegador. Esto significa que no GET en '/ dashboard' y ninguna validación de inicio de sesión de usuario.
Intenté usar no-cache en meta (Jade Template) pero todavía no funciona.
meta(http-equiv='Cache-Control', content='no-store, no-cache, must-revalidate')
meta(http-equiv='Pragma', content='no-cache')
meta(http-equiv='Expires', content='-1')
Anyone?
estoy teniendo un problema similar. ¿Dónde exactamente agregas esa línea de código? – Scott
Pruebe esto: app.use (function (req, res, next) { res.header ('Cache-Control', 'no-cache, private, sin-store, must-revalidate, max-stale = 0, post -check = 0, pre-check = 0 '); next(); }); – sidonaldson
Desafortunadamente no funciona para mí – nikjohn