那么,XD,我怎么从操作钩子中获取查询器的IP地址(如果这甚至是单词xD)?或远程钩子? (我可以用loopback.getCurrentContext()
将它保存在操作挂钩上使用)。Loopback从操作挂钩获取IP地址
说:
Model.observe('loaded', function(ctx,next) {
ctx.ip ??
});
那么,XD,我怎么从操作钩子中获取查询器的IP地址(如果这甚至是单词xD)?或远程钩子? (我可以用loopback.getCurrentContext()
将它保存在操作挂钩上使用)。Loopback从操作挂钩获取IP地址
说:
Model.observe('loaded', function(ctx,next) {
ctx.ip ??
});
所以我发现这一点:https://github.com/strongloop/loopback/issues/1495 &这样的:How to determine a user's IP address in node 从两个大的帮助,我只是把我所需要得到的地址,并将其保存在回环当前上下文这样的启动脚本:
var loopback = require('loopback');
module.exports = function (app) {
app.remotes().before('*.*', function(ctx,next) {
loopback.getCurrentContext().set('remoteAddress',ctx.req.connection.remoteAddress);
next();
});
app.remotes().before('*.prototype.*', function(ctx,instance,next) {
loopback.getCurrentContext().set('remoteAddress',ctx.req.connection.remoteAddress);
next();
});
};
然后我得到它的操作钩这样的:
Model.observe('loaded', function(ctx,next) {
console.log("Remote Address: ", loopback.getCurrentContext().get('remoteAddress'));
});
更新回送3:您可以使用此属性获取IP地址:
ctx.req.connection.remoteAddress
谢谢!到目前为止,这是我发现的唯一解决方案。 –