最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Passport.js:如何保护所有路由?

运维笔记admin11浏览0评论

Passport.js:如何保护所有路由?

Passport.js:如何保护所有路由?

我按照本地护照:.js

当我将用户发送到/login时,他们会通过身份验证,但在该文档中我找不到如何授权我的用户。

我试过这个,但这给了我一个bad request

router.get('/somepage', passport.authenticate('local'), function(req, res, next) {

});

我正在寻找保护我所有页面的方法。我正在使用Express 4.16并使用不同的路由文件来分割我的路由。

他自己

回答如下:

你可以使用middleware和一个小技巧来切换策略

例:

const allowUrl = ['public', 'nonprivate','home'];


const authenticationMiddleware = (whiteList =[]) => (req, res, next) => {
    if(whiteList.find(req.baseUrl)) {
      next();
    }

    if (req.isAuthenticated()) {
      return next()
    }
    res.redirect('/');
}


app = express();
app.use(passort.initialize());
app.use(authenticationMiddleware(allowUrl));
app.use(apiRouter);


app.listen(3000, ()=> console.log('hello internet');
发布评论

评论列表(0)

  1. 暂无评论