2014-05-05 6 views
5

Ich habe Schwierigkeiten, die Dokumentation zum Erstellen eines Benutzers mit einer ACL-Rolle zu entschlüsseln. Ich möchte zwei Rollen "admin" und "user" erstellen, ähnlich wie in der Dokumentation angegeben. Ich kann jedoch die API-Dokumentation für Role.create nicht finden. Auch das gegebene Beispiel ergibt für mich keinen Sinn. Ich möchte dann einen Benutzer nur über die REST-API erstellen und dann dem Benutzer entweder Administrator- oder Benutzerrollen zuweisen. Das scheint einfach zu sein, aber ich kratze mich am Kopf. Kann jemand eine Anleitung geben, wie man anfängt?Loopback ACL: Erstellen Sie einen Benutzer mit einer Rolle

Antwort

5

Ich weiß, dass dieser Bereich der Dokumentation etwas Arbeit braucht, und ich arbeite daran, es so schnell wie möglich zu verbessern. Wir werden auch die API-Dokumente aufräumen und verbessern.

Das Rollenmodell erbt alle CRUD-Methoden vom Basis-DataModel-Objekt: http://apidocs.strongloop.com/loopback/#datamodel-new-datamodel. So ist beispielsweise Role.create() dasselbe wie DataModel.create()

Das Gleiche gilt für die REST-API. Die Role-REST-API ist hier dokumentiert: https://docs.strongloop.com/display/public/LB/Role+REST+API. Sie werden feststellen, dass jeder Endpunkt in diesem Dokument mit dem Artikel "Modell-REST-API" verknüpft ist, der mehr Details enthält.

-Rand

Technical Writer, StrongLoop

+0

Muss ich die App konfigurieren, um den Endpunkt "Rollen" zu erstellen? Sieh es nicht out of the box. Wenn ich eine neue Rolle erstelle, kann ich das Befehlszeilenprogramm acl verwenden und die neue Rolle nach Namen angeben? Es fällt mir wirklich schwer, die Konzepte hier zu verstehen. Ich bin relativ neu bei Node (deshalb lehne ich mich vielleicht mehr auf die acl cmd Linie oder auf die Ruhepisis). Alle Beispiel-Apps und -Dokumentationen verwenden die dynamische Rolle (Eigentümer, alle usw.). Ich muss eine Administratorrolle haben, die unabhängig vom Besitzer Zugriff auf die Daten hat. Liebe das Acl-Tool, um viel von der Komplexität zu entfernen, aber es scheint einfach nicht zu tun, was ich brauche. – hubbardr

+0

Ich habe die Antwort gepostet, nach der ich gesucht habe. Ich habe in den Dokumenten nirgends etwas gesehen, das explizit darauf hinwies, dass bestimmte Modelle nicht öffentlich sind, aber jetzt, wo ich es sehe, verstehe ich, warum es standardmäßig nicht öffentlich ist. Sinn machen ... war einfach nicht ersichtlich, ohne etwas zu graben. – hubbardr

+0

Wäre auch schön, ein Beispiel zu haben, wie die Rolle von json body sein sollte, wenn man die Role REST API verwendet. Oder eine Verknüpfung zum Schema des Rollenmodells, das verwendet werden muss. – hubbardr

4

Ah fand es finden können. In der models.json müssen Sie das Rollenmodell veröffentlichen, damit es als Rest-Endpunkt verfügbar gemacht wird. Sobald sie definiert und acl konfiguriert ist, sollten Sie sie wahrscheinlich auf false setzen.

... 
"role": { 
    "dataSource": "db", 
    "public": true, 
    "options": { 
     "base": "Role", 
     "relations": { 
     "principals": { 
      "type": "hasMany", 
      "model": "roleMapping", 
      "foreignKey": "roleId" 
     } 
     } 
    } 
    }, 
... 
+0

wo ist dieses models.json? – Aakash

+0

in npm_modules/loopback/common/models – charsi

Verwandte Themen