是否可以在Express中使用白名单的路由中应用基本身份验证/中间件?

Ter*_*ubb 6 basic-authentication node.js express

我正在使用Express in Node实现一个RESTful API,我对两者都是新手.我想使用基本身份验证来控制访问.

我想用白名单之类的东西来应用它,但我不知道该怎么做.

黑名单很容易,我可以#VERB用第二个参数来调用我的调用:

app.get('/', asyncAuth, requestHandler);
Run Code Online (Sandbox Code Playgroud)

我可以更进一步,并将所有内容列入黑名单:

app.all('*', asyncAuth, requestHandler);
Run Code Online (Sandbox Code Playgroud)

但我想我的BASICAUTH适用于每一个路线,除了POST /users.有一种优雅的方式吗?我可以使用"黑名单"方法,然后有选择地从我想要的路线中删除它吗?我无法弄清楚如何.

rob*_*lep 8

POST /users在列入黑名单的路线之前定义您的路线:

app.post('/users', function(req, res) {
  ...
});

app.all('*', asyncAuth, requestHandler);
Run Code Online (Sandbox Code Playgroud)