我在环回后面使用环回有一个小问题。我已经建立了两个系统:
两者都使用环回。它背后的主要思想是,应该使用中央后端服务器来维护所有注册用户。这个抽象应该留下来!
为了连接它们,我为后端创建了 datasource.json :
"leoESB": {
"name": "leoESB",
"baseURL": "http://x.x.x.x:3000/api/",
"connector": "rest"
}
创建一个名为LeoUser的自定义userModel,并在 model-config.json 中设置其数据源:
"LeoUser": {
"dataSource": "leoESB",
"public": true
}
中央后端与我的后端具有相同的自定义userModel。唯一的区别是中央后端使用db作为dataSource。
当我使用资源管理器连接到我的后端时,我可以使用 POST / LeoUsers 创建LeoUser。一切正常。中央后端接收数据并存储它们。当我尝试登录新帐户时出现以下错误:
{
"error": {
"name": "Error",
"status": 401,
"message": "login failed",
"statusCode": 401,
"code": "LOGIN_FAILED",
"stack": "Error: login failed
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback\\common\\models\\user.js:226:26
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\lib\\dao.js:2004:5
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\lib\\dao.js:1932:9
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\node_modules\\async\\lib\\async.js:396:17
at done (C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\node_modules\\async\\lib\\async.js:167:19)
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\node_modules\\async\\lib\\async.js:40:16
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\node_modules\\async\\lib\\async.js:393:21
at C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\lib\\dao.js:1909:15
at doNotify (C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\lib\\observer.js:98:49)
at doNotify (C:\\Users\\Dominik\\Projects\\loopback\\LeoAppServer\\node_modules\\loopback-datasource-juggler\\lib\\observer.js:98:49)"
}
}
当查看user.js中的第225行时,我发现了这个
self.findOne({where: query}, function(err, user) {
我的理解暗示,user.js无法找到用户。但是中央后端服务器已存储此用户。我是否必须覆盖登录功能?