Wie Node-Zugriffsrechte performant ermitteln?
Eingetragen von rhodes (631)
am 13.11.2019 - 11:12 Uhr in
am 13.11.2019 - 11:12 Uhr in
Hallo zusammen,
in einer Drupal 8 Installation bekomme ich ein Array mit Node-IDs übergeben und muss nun für alle diese Nodes die Zugriffsrechte für den aktuellen Benutzer ermitteln.
Ich kann natürlich in einer Schleife jeweils die Entity laden und dann über $entity->access('view')) den Zugriff klären. Das funktioniert zwar, ist aber bei 2.000 Nodes extrem unperformant.
Hat jemand eine Idee, wie man das schneller erledigen könnte. Im Grunde brauche ich nur eine gefilterte Liste mit Node IDs.
Danke & Grüße
rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Das übernimmt die View doch für dich.
am 09.12.2019 - 22:17 Uhr
Wenn deine Usergruppen mit etsprechenden Rechten eingerichtet sind, wird kein User etwas angezeigt bekommen, wofür er keine Rechte hat
Grüße
Ronald
Bau dir doch einen View, und
am 10.12.2019 - 12:05 Uhr
Bau dir doch einen View, und entweder als Contextual Filter oder über ein Relationship und einen direkten Filter liest du aus, ob der aktuelle User Zugriff hat.
Hat den Vorteil, dass du direkt nach Usernamen filtern kannst und dich nicht als der entsprechende User einloggen/masqueraden musst.
Oder soll der User selber eine Nachricht angezeigt bekommen?
Das wäre allerdings nicht sinnvoll wegen dem, was Ronald sagt.