Digamos que eu tenha uma empresa que classifique os gatos mais fofos da internet.
Ofereço um recurso no/cats/
qual fornece aos usuários os mais recentes e adoráveis gatos adoráveis.
Os usuários podem obter apenas os três principais gatos se não tiverem pago ou se registrado. Os 10 melhores gatos se pagaram 337 dólares e estão conectados, e os 100 melhores gatos se pagaram 1337 dólares e estão conectados. Eu tenho um 'identificador de usuário' ao fazer a solicitação.
Em resumo, os consumidores /cats/
obtêm um número diferente de gatos com base em sua "classificação de usuários" . Eu tenho um identificador de usuário no consumidor final, mas não tenho representação explícita do nível do usuário no consumidor final. Gostaria de informar aos usuários que eles podem atualizar sua assinatura ao fazer a solicitação. Ou seja, preciso distinguir entre três gatos, pois ofereço apenas três e três, porque é isso que o nível de usuário permite .
Qual é a melhor prática para distinguir a limitação do recurso porque o consumidor não possui privilégios suficientes e limitá-lo porque é isso que o consumidor possui?
Como o cliente sabe se pode atualizar sua classificação? Ou seja, eles só tem um recurso limitado, porque eles não tem permissões. Qual é a melhor prática aqui?
Observe que essa é uma simplificação grosseira do caso real. Além disso, apenas para esclarecer - a leitura é apreciada.
Atualizar:
Aqui estão as opções que consideramos:
- Armazenando os objetos de permissão do usuário uma vez no cliente, consultando-o apenas quando o login ou atualização da conta é realizado.
- Passando
null
valores em JSON indicando que ele existe, mas nada real foi transferido. Portanto, 10 gatos para um usuário com 3 gatos podem ser["Garfield","Sylvester","Puss in Boots",null*7]
- Passando um Par de Permissões de Recursos
{cats:["Whiskers","Fluffy","Socks"],authCount:3}
Eu gostaria de fazer isso da primeira vez para entregar os gatos mais fofos da melhor maneira possível e gostaríamos e gostaríamos