【问题标题】:Redirect back to original url重定向回原始网址
【发布时间】:2018-10-29 09:56:39
【问题描述】:

我正在使用 nodeJs Express 和 Passport-local 开发一个旅游网络应用程序。 使用以下功能来保护我的路线。

如何重定向到原始请求 url

function isLoogedin(req, resp,  next){
  If(isAuthenticated()){
    Next()
  }else {
    resp.redirect('/login')
  }
}

【问题讨论】:

  • 你想在哪里重定向到referrer?因为 express 中的 originalUrl 与您请求的 url 相同,这将导致重定向循环。
  • 您的意思是要重定向到previous URL?
  • 我正在通过电子邮件发送 url,该 url 受到保护,并希望在登录后重定向到该网址

标签: javascript node.js express passport.js passport-local


【解决方案1】:

谢谢大家,我找到了解决方案,方法是在会话中保存请求的路径并将重定向设置为该路径,然后从会话中删除。

function isLoggedIn(req, resp, next) {if(req.isAuthenticated()){next()}else{req.session.returnTo =req.path; resp.redirect("/login")}}

在登录路由器中使用如下

route.post(passport.authenticate('mylonginstrategy'), (req, resp) { resp.redirect(req.session.returnTo || '/') delete req.session.returnTo;}

【讨论】:

    猜你喜欢
    • 2018-09-18
    • 2017-04-06
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    相关资源
    最近更新 更多