请考虑以下代码:
// common/models/test.js
module.exports = function(Test) {
Test.observe('before save', function (ctx, next) {
var x = <GET CLIENT IP> // <-----------
next();
});
};
如何在模型中捕获客户端的IP?
答案 0 :(得分:0)
一种可能的解决方案是使用远程钩子从上下文获取请求对象。重要的是要注意来自操作挂钩和远程挂钩的上下文对象是不同的。
module.exports = function(Test) {
Test.beforeRemote('**', function (ctx, unused, next) {
Test.ip = ctx.req.connection.remoteAddress;
next();
});
Test.observe('before save', function (ctx, next) {
if(Test.ip){
console.log("IP: ", Test.ip);
}
next();
});
};