Nehmen wir an, ich habe eine Firma, die die süßesten Katzen im Internet auflistet.
Ich biete eine Ressource an, in/cats/
der Benutzer die neuesten, süßesten, entzückenden Katzen finden.
Benutzer können entweder nur die Top 3 Katzen bekommen, wenn sie überhaupt nicht bezahlt haben oder registriert sind. Die Top 10 Katzen, wenn sie 337 Dollar bezahlt haben und eingeloggt sind, und die Top 100, wenn sie 1337 Dollar bezahlt haben und eingeloggt sind. Ich habe eine 'Benutzerkennung', wenn ich die Anfrage stelle.
Kurz gesagt, Konsumenten von /cats/
bekommen eine andere Anzahl von Katzen, basierend auf ihrer 'Benutzerrangliste' . Ich habe eine Benutzerkennung auf der konsumierenden Seite, aber ich habe keine explizite Darstellung der Benutzerebene auf der konsumierenden Seite. Ich möchte Benutzer darüber informieren, dass sie ihr Abonnement aktualisieren können, wenn sie die Anfrage stellen. Das heißt, ich muss zwischen 3 Katzen unterscheiden, da ich nur 3 Katzen und 3 Katzen anbiete, da dies auf Benutzerebene zulässig ist .
Was ist die beste Methode zur Unterscheidung der Einschränkung der Ressource, weil der Verbraucher nicht über ausreichende Berechtigungen verfügt, und zur Einschränkung der Ressource, weil der Verbraucher über diese Berechtigungen verfügt?
Woher weiß der Kunde, ob er sein Ranking verbessern kann? Das heißt, sie haben nur eine begrenzte Ressource, weil sie keine Berechtigungen haben. Was ist hier die beste Praxis?
Beachten Sie, dass dies eine grobe Vereinfachung des tatsächlichen Falls ist. Auch nur zur Verdeutlichung - Lesen ist erwünscht.
Aktualisieren:
Wir haben folgende Optionen in Betracht gezogen:
- Speichern Sie die Benutzerberechtigungsobjekte einmal auf dem Client und fragen Sie sie nur ab, wenn eine Kontoanmeldung oder ein Upgrade durchgeführt wird.
- Das Übergeben von
null
Werten in JSON zeigt an, dass es existiert, aber es wurde tatsächlich nichts übertragen. So könnten 10 Katzen für einen Benutzer mit 3 Katzen sein["Garfield","Sylvester","Puss in Boots",null*7]
- Übergeben eines Ressourcenberechtigungspaars
{cats:["Whiskers","Fluffy","Socks"],authCount:3}
Ich würde das gerne gleich beim ersten Mal richtig machen, um die süßesten Katzen bestmöglich auszuliefern, und wir würden und wir würden gerne