【发布时间】:2011-08-31 02:08:37
【问题描述】:
我的 Express 应用程序中有一个受限区域“/dashboard”。我用一个很小的函数来限制访问:
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');
}
};
问题是当我通过调用注销用户时...
app.get('/logout', function(req, res){
if (req.session) {
req.session.auth = null;
res.clearCookie('auth');
req.session.destroy(function() {});
}
res.redirect('/login');
});
...会话被终止,但是当我在浏览器中点击返回按钮时,我从浏览器的缓存中获取了受限页面。这意味着“/dashboard”上没有 GET,也没有用户登录验证。
我尝试在 meta(Jade 模板)中使用 no-cache,但它仍然不起作用。
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')
有人吗?
【问题讨论】: