如何使用REST作为usermodel的数据源进行登录

时间:2016-10-09 19:57:32

标签: rest loopback

我在环回后面使用环回有一个小问题。我已经建立了两个系统:

  1. 中央后端(称为leoESB)
  2. "我"后端(代码来自后端)
  3. 两者都使用环回。它背后的主要思想是,应该使用中央后端服务器来维护所有注册用户。这个抽象应该留下来!

    为了连接它们,我为后端创建了 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无法找到用户。但是中央后端服务器已存储此用户。我是否必须覆盖登录功能?

0 个答案:

没有答案