Mamy system wielu dzierżawców z wieloma różnymi poziomami dostępu - czasami nawet dla tego samego użytkownika, który przełącza się między wieloma rolami. Rozpoczynamy dyskusję na temat przejścia na RESTful implementację rzeczy. Właśnie zaczynam dostawać nogi na mokro z całą rzeczą REST.REST, buforowanie i autoryzacja z wieloma rolami użytkowników
Jak więc ograniczyć dostęp do prawidłowych rekordów, gdy uzyskują dostęp do zasobu, szczególnie biorąc pod uwagę buforowanie? Jeśli użytkownik uzyska dostęp example.com/employees
, otrzyma inną odpowiedź niż użytkownik B; użytkownik A może nawet otrzymać inną odpowiedź, gdy przełączy się na inną rolę. Aby ułatwić buforowanie, czy identyfikator roli powinien zostać w jakiś sposób włączony do URI? Może coś w rodzaju example.com/employees/123
(które narusza reguły REST), lub jak jakiś podrzędny zasób, taki jak example.com/employees/role/123
(co wydaje się głupie, ponieważ role/###
będzie dołączane do URI w każdym miejscu). Mogę pomóc, ale myślę, że tu coś pomijam.
edytowane wspominając wielowątkowości
Całkowicie się z tym zgadzam. Wyobraź sobie inny scenariusz, gdy zdecydujesz się wdrożyć wyszukiwarkę, która przeszukuje zasoby. Jeśli używasz tych samych adresów URL do różnych poziomów dostępu, wyszukiwarka musi zaindeksować te same adresy URL z różnymi poświadczeniami i w jakiś sposób upewnić się, że wyniki są ograniczone do odpowiedniego poziomu dostępu. Posiadanie różnych zasobów dla różnych poziomów dostępu znacznie ułatwia. –
Dzięki! Mam pytanie uzupełniające na http://stackoverflow.com/questions/2676786/should-a-given-uri-inful-architecture-always-return-the-same-response – keithjgrant