I have a restricted area '/dashboard' in my Express application. I use a very small function to limit the access:
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');
}
};
The problem is that when I logout a user by calling...
app.get('/logout', function(req, res){
if (req.session) {
req.session.auth = null;
res.clearCookie('auth');
req.session.destroy(function() {});
}
res.redirect('/login');
});
... the session is killed but when I hit Back Button in my browser I got the restricted page from browser's cache. This means no GET on '/dashboard' and no user login validation.
I tried using no-cache in meta (Jade Template) but it still doesn't work.
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?