Wo befinden sich die RESTful-Modulberechtigungen außer "REST-Ressourcenkonfiguration verwalten"?

7

Gemäß dem Lernprogramm Eine Einführung in RESTful Web Services in Drupal 8 sollte der admin/people/permissionsPfad die folgenden Berechtigungen enthalten:

RESTful Web Services

Aber jetzt, da ich die neueste Version von Drupal installiert habe, ist die große Überraschung, dass es auf meiner Website keine anderen RESTful- Administer REST resource configurationModulberechtigungen gibt als keine Berechtigungen, jeder Rolle DELETE, GET, PATCH oder POST zu erteilen.

Geben Sie hier die Bildbeschreibung ein

Ich habe alle Kernmodule für Webdienste (HAL, HTTP-Basisauthentifizierung, RESTful Web Services, Serialisierung) + REST-UI-Modul aktiviert.

Werden diese Berechtigungen aus Drupal 8.2.5 entfernt?

Mde
quelle

Antworten:

7

Dies wurde seit 8.2.0 eingeführt

Für den Zugriff auf Entitäten über REST sind keine zusätzlichen REST-spezifischen Berechtigungen mehr erforderlich

Dies war eigentlich nur als vorübergehende Maßnahme gedacht , da wir bereits über eine Entity Access-API verfügen, die den Zugriff / die Vorgänge auf / auf diese Entitäten regelt. Tatsächlich wird der Entitätszugriff beim Zugriff auf Entitäten über REST respektiert. Es gab also keinen Grund mehr dafür in Drupal 8.0.x und Drupal 8.1.x, aber es wurde einfach vergessen, vor der Veröffentlichung von Drupal 8.0.0 entfernt zu werden. Die Tatsache, dass Sie sowohl diese Berechtigungen als auch Entity Access gewähren mussten, um Ihnen Zugriff zu gewähren, war eine Quelle der Verwirrung und Frustration mit der REST-API von Drupal 8, die jetzt behoben wurde.

Ab Drupal 8.2.0 benötigen Neuinstallationen diese Berechtigungen nicht mehr, um über REST auf Entitäten zuzugreifen . Bestehende Installationen weisen weiterhin das alte Verhalten auf. Bestehende Sites können dieses Verhalten deaktivieren und sich für das neue Verhalten entscheiden, indem sie die Konfiguration von rest.settings von ändern

bc_entity_resource_permissions: true

zu

bc_entity_resource_permissions: false

(Letzteres ist die Standardeinstellung bei neuen Drupal 8.2-Installationen.)

Kein Sssweat
quelle
Sollte ich für meinen Fall, in dem Drupal 8.2 installiert ist, bc_entity_resource_permissions: false belassen oder in true ändern, damit das REST-Modul ordnungsgemäß funktioniert?
Mde
@Mde lass es falsch. Die vorherigen Berechtigungen waren nur vorübergehend. Sie nicht zu haben ist, wie D8 war / sein soll.
Kein Sssweat
danke @No Sssweat, ich dachte, das Problem meiner folgenden Frage sei dieses Problem: drupal.stackexchange.com/questions/226130/… , aber es scheint, dass das Problem etwas anderes ist. Könnten Sie mir helfen, es zu lösen? Danke noch einmal.
Mde