是否可以在Express上的白名单路由中应用基本身份validation/中间件?
我正在使用Express in Node实现一个RESTful API,而我对这两者都是新手。 我想使用基本身份validation来控制访问。
我想应用它使用白名单,但我不知道如何做到这一点。
列入黑名单很简单,我可以用第二个参数来#VERB
我的#VERB
电话:
app.get('/', asyncAuth, requestHandler);
我可以采取更进一步黑名单一切:
app.all('*', asyncAuth, requestHandler);
但是我想将我的basicAuth应用到除 POST /users
以外的每一条path。 有没有一个优雅的方式来做到这一点? 我可以使用“黑名单”方法,然后select性地将其从我想要的路线中删除吗? 我无法弄清楚如何。
在列入黑名单的路线之前为POST /users
定义路线:
app.post('/users', function(req, res) { ... }); app.all('*', asyncAuth, requestHandler);
您可以维护列入白名单的正则表的列表,并匹配该列表中的每个url,如果它匹配任何继续,否则需要授权
app.all('*', asyncAuth); function asyncAuth(req, res, next) { var done = false; whitelist.forEach(function(regexp) { if (req.url.match(regexp)) { done = true; next(); } }); if (!done) requireAuth(next); }
沿着这些线的东西
- Nodejs / mongodb-检查用户是否具有pipe理员权限(基于令牌的身份validation)
- 用户和来宾两个不同的模板? 或者dynamic改变视图使用客户端variables?
- 如何使用节点js中的API密钥从REST api获取数据?
- 与节点的代理http请求
- 节点js – 用户身份validation,在会话中存储什么?
- 冻结connect-redis会话销毁?
- 用户在Firebase / Node.js中全局logging
- 无法使用节点请求模块进行基本的HTTPvalidation
- 使用node.js和mongoose以及expressjs和passportjs进行身份validation