darstellen, wenn Sie eine REST API
haben, die hypermedia-driven
(HATEOAS) Sie leicht das Verhalten des Kunden, indem oder Weglassen Links in der Antwort (_links
) ändern können, ist. Dadurch kann ein Client die Testberechtigungen für die Operationen, die im aktuellen Zustand einer resource
möglich sind, vollständig vergessen (die Verknüpfung zu der Operation ist vorhanden oder nicht).Wie eine schreibgeschützte Eigenschaft in einer REST Api
Zusätzlich können Sie Eigenschaften in der Antwort auslassen, wenn der aktuelle Benutzer keine Berechtigung zum Anzeigen hat.
Auf diese Weise erfolgt die Autorisierung vollständig auf dem Server (und steuert Aktionen und Eigenschaften, die für die Ausführung/Ansicht geeignet sind).
Aber was, wenn ich eine read-only
Eigenschaft haben möchte? Es ist kein Problem für die REST
API
, die Eigenschaft zu ignorieren, wenn es in der Anfrage vorhanden ist (_POST_
OR _PUT_
). es wird einfach nicht gerettet werden. Aber wie kann ein Client zwischen schreiben und lesen Sie nur Eigenschaften, um den Benutzer entsprechende Steuerelemente (wie ein deaktiviertes Eingabefeld in HTML
) zu präsentieren?
Das Ziel ist es, nie die client request
Berechtigungen eines Benutzers, sondern eine vollständig Ressource client/frontend
zu haben.
Jede Hilfe ist sehr geschätzt :-)
Da Ihre Antwort wahrscheinlich auf einem bestimmten Dokumentformat basiert (XML und JSON sind eher generisch; spezialisierter sind vorzuziehen und zu erweitern ist nicht so schwer), verwenden Sie einige Schemata, die Ihr Dokumentformat beschreiben, um zu definieren, was verpflichtend ist. Was ist optional und was ist schreibgeschützt? –
ok Ich sage, was Sie meinen, aber ich meine eine Eigenschaft, die entweder schreibbar, schreibgeschützt oder nicht vorhanden ist, abhängig von den Berechtigungen des Benutzers. So würde das Schema dynamisch sein –
Ich würde die Prüfungen auf der Serverseite verlassen und ein spezielles Dokumentformat für bestimmte Rollen zurückgeben. Hier enthält das Schema des Dokumentformats die notwendigen Informationen, wenn eine Eigenschaft schreibgeschützt, optional oder obligatorisch für eventuelle Clientantworten ist. Beachten Sie, dass das Dokumentformat für verschiedene Rollen nicht identisch sein muss. Es kann entweder eine Untermenge, eine Obermenge oder etwas völlig anderes im Vergleich zu einer Basisrolle sein. –