【问题标题】:How do you use Express middleware and requires() in route files?如何在路由文件中使用 Express 中间件和 requires()?
【发布时间】:2015-02-24 20:44:48
【问题描述】:

我正在关注a tutorial that explains how to set up passport

问题是本教程假设您的所有路由都在主 app.js 文件中,但在我的情况下,我的路由已经在单独的路由文件中定义。

如何让passport 在这些路由上正常工作?

目前我的路线是这样的,在app.js:

var routes_main = require('./app/routes/index');
var routes_admin = require('./app/routes/admin');

//routes
app.use('/', routes_main);
app.use('/admin', routes_admin);

【问题讨论】:

  • 你能在主文件中展示你的路线是如何设置和使用的吗?
  • @VsevolodGoloviznin 完成

标签: node.js express passport.js


【解决方案1】:

这真的很容易。

您只需将护照中间件添加到app.use

app.use('/', passport.authenticate('local', {successRedirect: '/'}), routes_main);

【讨论】:

  • 太酷了。我不知道那种语法。在教程中,它说您需要将该中间件放在 .get 和 .post 函数上
  • app.use中可以包含多个中间件
  • 问题在于,如果失败,我想重定向到routes_main 中的路径。所以我需要在那里进行身份验证
  • 那么您应该将失败登录视图的视图提取到另一个未经过身份验证的路由
  • 这是一个不错的解决方案。但是除了我的主要文件app.js之外,没有办法在文件中使用passport
猜你喜欢
  • 1970-01-01
  • 2019-06-09
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
  • 2020-05-09
  • 2018-11-08
相关资源
最近更新 更多