【发布时间】:2014-08-19 13:50:24
【问题描述】:
我有一个中间件功能来执行 app.js(starter javascript)中的基本授权。但是其他javascript文件中有一些路由器文件。我的问题是如何在路由器中调用授权中间件功能?
这是我的 app.js:
var basicAuth = require('basic-auth');
var auth = function (req, res, next) {
function unauthorized(res) {
res.set('WWW-Authenticate', 'Basic realm=Authorization Required');
return res.send(401);
};
var user = basicAuth(req);
if (!user || !user.name || !user.pass) {
return unauthorized(res);
};
if (user.name === 'foo' && user.pass === 'bar') {
return next();
} else {
return unauthorized(res);
};
};
module.exports = app;
我的路由器文件 index.js:
var express = require('express');
var router = express.Router();
router.get('/', auth, function(req, res) {
res.render('index', { title: 'Express' });
});
module.exports = router;
显然这里没有定义身份验证。谁能告诉我如何在我的 index.js 路由器功能中使用 auth 中间件功能?谢谢
【问题讨论】:
标签: node.js express middleware