我有一个node.js(sail.js)项目作为服务器端,backbone.marionette作为客户端。
我正在使用护照来确定用户是否经过身份验证。
module.exports = function(req, res, next)
{
if (req.isAuthenticated())
return next();
else
res.redirect('/login');
}
我的问题是:
如果当前网址为:http://localhost:1337/#users
(来自客户端的#users),并且服务器会话超时,则res.redirect('/login');
会使用客户端网址重定向网页,如下所示:{{1} }
有没有办法在没有#url的情况下重定向?
答案 0 :(得分:1)
发现了一个错觉:
我们可以通过重定向到/login#
来解决此问题。这应该可以解决问题,并从URL中删除哈希值。
答案 1 :(得分:0)
#part未发送到服务器,#由marionette添加。 marionette收到302状态并重定向登录并巧妙地尝试恢复#users状态。所以在这种情况下,你不要在服务器中进行重定向,只需要执行res.render(“login”)。