Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在strongloop上创建新用户而不输入电子邮件_Node.js_Login_Loopbackjs_Strongloop - Fatal编程技术网

Node.js 在strongloop上创建新用户而不输入电子邮件

Node.js 在strongloop上创建新用户而不输入电子邮件,node.js,login,loopbackjs,strongloop,Node.js,Login,Loopbackjs,Strongloop,我们的登录模型只需要用户输入用户名和密码,电子邮件是可选的,但是环回用户模型需要在创建新用户之前发送电子邮件 有没有一种方法可以在Strongloop中创建新用户而不必输入电子邮件 根据以下文件,目前没有办法改变内置模型所需的属性: 根据以下文件,目前没有办法更改内置模型的所需属性: 目前,不可能允许非唯一用户电子邮件。一个 原因之一是User.login同时支持电子邮件和用户名, i、 e.您可以通过输入电子邮件和密码登录 请看 但别担心,有一种丑陋的(或者可能是创造性的)方法可以解决这个问

我们的登录模型只需要用户输入用户名和密码,电子邮件是可选的,但是环回用户模型需要在创建新用户之前发送电子邮件


有没有一种方法可以在Strongloop中创建新用户而不必输入电子邮件

根据以下文件,目前没有办法改变内置模型所需的属性:


根据以下文件,目前没有办法更改内置模型的所需属性:

目前,不可能允许非唯一用户电子邮件。一个 原因之一是User.login同时支持电子邮件和用户名, i、 e.您可以通过输入电子邮件和密码登录

请看

但别担心,有一种丑陋的(或者可能是创造性的)方法可以解决这个问题:

1.从
common/models/base User.json中的用户模型扩展:

{
  "name": "baseUser",
  "base": "User",
  "idInjection": true,
  "hidden":["email"],
  "properties": {
    "username": {
      "type": "string",
      "required": true,
      "index": {
        "unique": true
      }
    }
  }
}
2.在登录
common/models/base user.js
之前,为每个用户创建随机电子邮件:

module.exports = function (BaseUser) {
  BaseUser.beforeRemote('create', function (context, user, next) {
    var req = context.req;
    req.body.email =Date.now()+"a@b.cc";
    next();
  });
};
3.在
server/config model.json

"baseUser": {
    "dataSource": "MongoDB",
    "public": true
},
"User": {
   "dataSource": "MongoDB",
   "public": false
}
目前,不可能允许非唯一用户电子邮件。一个 原因之一是User.login同时支持电子邮件和用户名, i、 e.您可以通过输入电子邮件和密码登录

请看

但别担心,有一种丑陋的(或者可能是创造性的)方法可以解决这个问题:

1.从
common/models/base User.json中的用户模型扩展:

{
  "name": "baseUser",
  "base": "User",
  "idInjection": true,
  "hidden":["email"],
  "properties": {
    "username": {
      "type": "string",
      "required": true,
      "index": {
        "unique": true
      }
    }
  }
}
2.在登录
common/models/base user.js
之前,为每个用户创建随机电子邮件:

module.exports = function (BaseUser) {
  BaseUser.beforeRemote('create', function (context, user, next) {
    var req = context.req;
    req.body.email =Date.now()+"a@b.cc";
    next();
  });
};
3.在
server/config model.json

"baseUser": {
    "dataSource": "MongoDB",
    "public": true
},
"User": {
   "dataSource": "MongoDB",
   "public": false
}
,但由于API随着时间的推移发生了变化,该答案的代码今天已被最新的环回(^3.17或^4)弃用

BaseUser.beforeRemote('create'),…

以下是更新后的基本用户,假设环回3,基于以下更完整的实现:

,但由于API随着时间的推移发生了变化,该答案的代码今天已被最新的环回(^3.17或^4)弃用

BaseUser.beforeRemote('create'),…

以下是更新后的基本用户,假设环回3,基于以下更完整的实现:


看这个看这个给我看,这只能称为创造性:)。OP说电子邮件是可选的,所以它只缺少一个额外的字段,对于那些实际为我提供电子邮件地址的人来说,这只能称为创造性:)。OP表示,电子邮件是可选的,所以对于那些为更新提供电子邮件地址的人来说,它只缺少一个额外的字段