【问题标题】:Protecting route in node js with passport js使用护照js保护节点js中的路由
【发布时间】:2020-02-13 12:56:14
【问题描述】:

我有一个快速应用程序,其主要服务器代码在 server.js 文件中。在 server.js 文件中有一个路由 app.get('/dashboard',require('./dashboard/dashboard.js')

dashboard.js 文件中,我有许多路由,例如 /profile/editProfile 等。现在为了保护我的所有 /dashboard 路由,我应该对每条路由实施 req.isAuthenticated() 吗?或者有没有其他方法可以通过实现单一身份验证功能来保护我所有的/dashboard 路由?

【问题讨论】:

    标签: javascript node.js express passport.js


    【解决方案1】:

    创建一个中间件并将其添加到您的 /dashboard 中,如下所示: app.get('/dashboard', checkAuthentication , require('./dashboard/dashboard.js')

    在这里解释:https://stackoverflow.com/a/38820680/2988950

    【讨论】:

      【解决方案2】:

      您可以在到达仪表板路由之前传递一个中间件函数。

      app.get('/dashboard',
      (req, res, next) => {
        // Run passport isAuthenticated() here.
        // If true, next();
        // If false, throw
      },
      require('./dashboard/dashboard.js');
      

      【讨论】:

      • 我们必须在这里用 app.use() 替换 app.get()。它现在可以工作了。谢谢。
      猜你喜欢
      • 2017-08-18
      • 1970-01-01
      • 2021-07-25
      • 2021-10-19
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      • 2019-12-25
      • 2018-01-27
      相关资源
      最近更新 更多