API: Wie kann ich eine Berechtigung implementieren?

Hi @ all,

ich wollte eine Erweiterung erstellen womit einige Admin Nutzer nicht alle Produkte/Bestellung/Kunden sehen können. Hat jemand eine Idee wie ich vor gehen könnte?

Meine Idee war wäre wie folgt: Die Adminoberfläche werde ich nicht verändern weil dies nur die REST API aufruft. Stattdessen muss ich die REST Service erweitern. In dem ich z.B. eine Tabelle erstelle mit product_permission (user_id, product_id).

Wie kann ich nun den REST PRODUCT Service erweitern mit dem zusätzlichen Filter? Oder vll. soll ich es überschreiben, oder doch einen weiteren Service erstellen? Dann müsste ich die Admin Oberfläche erweitern.

Vielleicht hat jemand eine Idee wie man es am besten lösst.

Hi Approach,

Meine Idee war wäre wie folgt: Die Adminoberfläche werde ich nicht verändern weil dies nur die REST API aufruft. Stattdessen muss ich die REST Service erweitern. In dem ich z.B. eine Tabelle erstelle mit product_permission (user_id, product_id).

Ja, das würde ich auch vorschlagen. Auf die Schnelle würde ich sagen, dass du am besten den API-Controller dekorierst. In den Methoden search, list, create, … hast du Zugriff auf den Request. Damit kannst du

  1. den Nutzer auslesen. 

  2. du den Request noch so anpassen, dass du deinen Filter setzt bevor er in die “resolveSearch”-Methode übergeben wird.

VG