使用护照js保护节点js中的路由
Posted
技术标签:
【中文标题】使用护照js保护节点js中的路由【英文标题】:Protecting route in node js with passport 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
路由?
【问题讨论】:
【参考方案1】:创建一个中间件并将其添加到您的 /dashboard 中,如下所示: app.get('/dashboard', checkAuthentication , require('./dashboard/dashboard.js')
在这里解释:https://***.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()。它现在可以工作了。谢谢。以上是关于使用护照js保护节点js中的路由的主要内容,如果未能解决你的问题,请参考以下文章
节点js快速路由[无法获取:/collection#] [重复]