在使用strongloop loopback时,我想在每个请求中检查数据库是否存在accesstoken和username存在。
所以我正在制作中间件代码:
module.exports = function() {
return function xAuth(req, res, next) {
console.log(req);
};
};
我已将其添加到:initial"中间件json
"initial": {
"compression": {},
"cors": {
"params": {
"origin": true,
"credentials": true,
"maxAge": 86400
}
},
"./middleware/trumptAuth": {},
"helmet#xssFilter": {},
"helmet#frameguard": {
"params": [
"deny"
]
},
"helmet#hsts": {
"params": {
"maxAge": 0,
"includeSubdomains": true
}
},
"helmet#hidePoweredBy": {},
"helmet#ieNoOpen": {},
"helmet#noSniff": {},
"helmet#noCache": {
"enabled": false
}
}
我想在这里执行一个SQL查询,但我不知道我该怎么做,我可能只需要" app"可变访问或直接" dataSource"访问。
感谢任何帮助。
答案 0 :(得分:1)
在文档“使用中间件中的变量”(https://docs.strongloop.com/display/LB/Defining+middleware#Definingmiddleware-Usingvariablesinvalues)中,看起来您可以使用以下语法传递应用程序对象的任何部分:${var}
。数据源属性存在于核心应用程序对象下,因此您应该能够以这种方式传递它。
答案 1 :(得分:1)
访问" app"中间件使用的变量
app.use(function(req, res, next) {
var app = req.app;
...
});
访问" dataSource"中间件使用的变量
app.use(function(req, res, next) {
var dataSource = app.datasources.db;
...
});
从中间件使用
访问特定模型app.use(function(req, res, next) {
var app = req.app;
var modelName = app.model.modelName;
...
});
有关更多方法/来源,请使用此文档链接 https://docs.strongloop.com/display/public/LB/Working+with+LoopBack+objects