MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Loopback-Fehler:Autorisierung erforderlich

Sehen Sie sich Ihren zuletzt an Frage Ich kann mir vorstellen, was passiert ist.

Irgendwie ist die Sammlung Role wurde erstellt, aber User nicht zugeordnet .

Ich schlage vor, dass Sie Folgendes ändern:

Role.find({ name: 'admin' }, function(err, results) {
            if (err) { throw err; }

            if (results.length < 1) {
                // now we know the DB doesn't have it already, so do the Role creation...
                //create the admin role
                Role.create({
                  name: 'admin'
                }, function(err, role) {
                  if (err) throw (err);
                   //make admin
                  role.principals.create({
                    principalType: RoleMapping.USER,
                    principalId: users[0].id
                  }, function(err, principal) {
                    if (err) throw (err);
                  });
                });
            }
        });

Von:

Role.create({
      name: 'admin'
    }, function(err, role) {
      if (err) throw (err);
       //make admin
      role.principals.create({
        principalType: RoleMapping.USER,
        principalId: users[0].id
      }, function(err, principal) {
        if (err) throw (err);
      });
    });

Löschen Sie die Rollensammlung:db.Role.drop() und führen Sie Loopback erneut aus.

Hinweis:Ich habe die gleiche Aufgabe erledigt und für mich gearbeitet.