Nous avons un système multi-locataires avec plusieurs niveaux d'accès différents - parfois même pour le même utilisateur car ils basculent entre plusieurs rôles. Nous commençons une discussion sur le passage à une implémentation RESTful des choses. Je commence juste à me mouiller les pieds avec tout ce truc de REST.REST, mise en cache et autorisation avec plusieurs rôles d'utilisateur
Alors, comment puis-je limiter l'accès aux enregistrements corrects lorsqu'ils accèdent à une ressource, en particulier lorsque la mise en cache est prise en compte? Si l'utilisateur A accède à example.com/employees
, il recevra une réponse différente de celle de l'utilisateur B; l'utilisateur A peut même recevoir une réponse différente lorsqu'il passe à un rôle différent. Pour faciliter la mise en cache, l'identifiant du rôle devrait-il être incorporé d'une manière ou d'une autre dans l'uri? Peut-être quelque chose comme example.com/employees/123
(qui viole les règles de REST), ou comme une sorte de ressource subordonnée comme example.com/employees/role/123
(ce qui semble stupide, puisque role/###
va être ajouté aux URI partout). Je peux aider mais je pense qu'il me manque quelque chose ici.
modifié mentionner multi-location
Je suis entièrement d'accord. Imaginez l'autre scénario lorsque vous décidez d'implémenter un moteur de recherche qui analyse les ressources. Si vous utilisez les mêmes URL pour différents niveaux d'accès, le moteur de recherche doit explorer les mêmes URL avec des informations d'identification différentes et s'assurer que les résultats sont limités au niveau d'accès approprié. Avoir des ressources différentes pour les différents niveaux d'accès rend les choses beaucoup plus faciles. –
Merci! J'ai une question de suivi à http://stackoverflow.com/questions/2676786/should-a-given-uri-in-a-restful-architecture-always-return-the-same-response – keithjgrant