Załóżmy, że mam firmę, która klasyfikuje najładniejsze koty w Internecie.
Oferuję źródło, w/cats/
którym zapewnia użytkownikom najnowsze, najładniejsze urocze koty.
Użytkownicy mogą dostać tylko 3 najlepsze koty, jeśli w ogóle nie zapłacili lub się zarejestrowali. 10 najlepszych kotów, jeśli zapłaciło 337 dolarów i jest zalogowanych, a 100 najlepszych kotów, jeśli zapłaciło 1337 dolarów i było zalogowanych. Mam „identyfikator użytkownika” podczas wysyłania żądania.
Krótko mówiąc, konsumenci /cats/
otrzymują inną liczbę kotów na podstawie ich „rankingu użytkowników” . Mam identyfikator użytkownika po stronie konsumującej, ale nie mam wyraźnej reprezentacji poziomu użytkownika po stronie konsumującej. Chciałbym poinformować użytkowników, że mogą zaktualizować subskrypcję podczas wysyłania żądania. Oznacza to, że muszę rozróżniać 3 koty, ponieważ oferuję tylko 3 koty i 3 koty, ponieważ dopuszcza to poziom użytkownika .
Jaka jest najlepsza praktyka w rozróżnianiu ograniczania zasobów, ponieważ konsument nie ma wystarczających przywilejów i ograniczania go, ponieważ to właśnie ma konsument?
Skąd klient wie, czy może ulepszyć swój ranking? Oznacza to, że dostał tylko ograniczony zasób, ponieważ oni nie mają uprawnień. Jaka jest tutaj najlepsza praktyka?
Uwaga: jest to rażące uproszczenie rzeczywistej sprawy. Również dla wyjaśnienia - czytanie jest mile widziane.
Aktualizacja:
Oto opcje, które rozważaliśmy:
- Przechowywanie obiektów uprawnień użytkownika jeden raz na kliencie, zapytanie o nie tylko przy logowaniu lub aktualizacji konta.
- Przekazywanie
null
wartości w JSON wskazujące, że istnieje, ale faktyczne nic nie zostało przeniesione. Może to być 10 kotów dla użytkownika z 3 kotami["Garfield","Sylvester","Puss in Boots",null*7]
- Przekazywanie pary uprawnień do zasobów
{cats:["Whiskers","Fluffy","Socks"],authCount:3}
Chciałbym to zrobić po raz pierwszy, aby dostarczyć najładniejsze koty w najlepszy możliwy sposób, a my i tak chcielibyśmy