Javascript 浏览器后退按钮不可用';t在PassportJS+中销毁会话;ExpressJS。如何完全终止/终止会话?

Javascript 浏览器后退按钮不可用';t在PassportJS+中销毁会话;ExpressJS。如何完全终止/终止会话?,javascript,node.js,express,passport.js,passport-local,Javascript,Node.js,Express,Passport.js,Passport Local,我的注销机制的代码是 app.get('/logout', isLoggedIn, function(req, res) { req.logout(); res.redirect('/'); }); 我使用的是使用密钥的快速会话包,没有在任何地方设置cookie 当我在注销后单击browser Back按钮时,它仍然允许用户返回正在验证的页面。如何完全终止此会话 isLoggedIn只是通过PassportJS的isAuthenticated方法进行身份

我的注销机制的代码是

app.get('/logout', isLoggedIn, function(req, res) {
        req.logout();
        res.redirect('/');
    });
我使用的是使用密钥的快速会话包,没有在任何地方设置cookie

当我在注销后单击browser Back按钮时,它仍然允许用户返回正在验证的页面。如何完全终止此会话

isLoggedIn只是通过PassportJS的isAuthenticated方法进行身份验证。这里怎么走

请帮忙。提前谢谢

编辑:这是会话Id


为注销用户有条件地将
缓存控制
标题设置为
无缓存

app.use(function(req, res, next) {
    if (!req.user)
        res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
    next();
});
这将迫使浏览器获取页面的新副本,即使在他们点击“后退”时也是如此


注意:这是以为所有未登录的用户禁用缓存为代价的,为了回答这个问题,这些用户包括刚注销的用户。如果您不想完全禁用所有已注销用户的缓存,您可能应该找到一种方法来区分这两种缓存。一些关于会话的东西

如果您确定当用户回击时,
'/login'
是他们将到达的路线,那么您只能在那里定义它,从而避免了执行上述操作的麻烦


这段代码到底到哪里去了

app.get('/logout', isLoggedIn, function(req, res) {
    req.logOut();
    if (!req.user) 
        res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
    res.redirect('/login');
});
可以这样使用吗

没有

app.get
(或
app.use
)定义您的路线。文件:

app.get(“/logout”…
仅当客户端请求路由
“/logout”
时才会执行

app.use(…)
(不指定任何路由)将对所有请求执行

这些路由“中间件”(如它们所称)也会依次执行。(您将在上面提到的文档中了解更多信息)

您希望在任何其他路由之前设置头,以便无论这些其他路由呈现什么,都使用强制使用户缓存无效的头来呈现

// > HERE <
// before all the other routes

app.get('/logout'...
app.get('/login'...
app.get('/'...
app.get('/stuff'...
/>这里<
//在所有其他路线之前
app.get(“/logout”。。。
app.get(“/login”。。。
app.get(“/”。。。
app.get(“/stuff”。。。

它最有可能显示来自浏览器缓存的内容,这意味着它没有进入网络,因此对此你无能为力。谢谢..这可能是一个n00b问题,但这段代码到底去了哪里?
code app.get('/logout',isLoggedIn,function(req,res){req.logout();if(!req.user)res.header('Cache-Control','private,no Cache,no store,must revalidate');res.redirect('/login');});
可以这样使用吗?@laggingreflect
user
in
中的用户是什么。