Abbiamo un sistema multi-tenant con diversi livelli di accesso, a volte anche per lo stesso utente che passa da più ruoli. Stiamo iniziando una discussione sul passaggio a un'implementazione RESTful delle cose. Sto solo iniziando a bagnarmi i piedi con l'intera cosa REST.REST, memorizzazione nella cache e autorizzazione con più ruoli utente
Quindi, come faccio a limitare l'accesso ai record corretti quando accedono a una risorsa, in particolare quando si prende in considerazione la memorizzazione nella cache? Se l'utente A accede a example.com/employees
, riceverà una risposta diversa dall'utente B; l'utente A può persino ricevere una risposta diversa mentre passa a un ruolo diverso. Per facilitare il caching, l'id del ruolo dovrebbe essere in qualche modo incorporata nell'uri? Forse qualcosa come example.com/employees/123
(che viola le regole di REST), o come una sorta di risorsa subordinata come (che sembra sciocco, dal momento che role/###
sarà aggiunto agli URI in tutto il luogo). Posso aiutare ma penso che mi manchi qualcosa qui.
modificati parlare di multi-tenancy
Sono pienamente d'accordo. Immagina l'altro scenario quando decidi di implementare un motore di ricerca che esegue la scansione delle risorse. Se si utilizzano gli stessi URL per diversi livelli di accesso, il motore di ricerca deve eseguire la scansione degli stessi URL con credenziali diverse e in qualche modo garantire che i risultati siano limitati al livello di accesso appropriato. Avere risorse diverse per i diversi livelli di accesso rende le cose molto più semplici. –
Grazie! Ho una domanda di follow-up su http://stackoverflow.com/questions/2676786/should-a-given-uri-in-a-restful-architecture-always-return-the-same-response – keithjgrant