관리자와 표준 사용자라는 두 종류의 사용자가 있다고 가정합니다.사용자 권한으로 RESTful API에서 리소스를 필터링하는 가장 좋은 방법은 무엇입니까?
post
리소스가 있습니다. GET 방법의 경우 관리자가 모든 게시물을 보도록하고 표준 사용자는 게시물 만 볼 수 있도록하려면 post.created_by={currentUserID}
을 입력하십시오.
사용
/api/post
및/api/mypost
:은 지금은 세 가지 옵션이 있습니다. 위쪽은 반환 된 결과를 쉽게 제어하고 사용자 범위를 기반으로 다른 권한을 지정할 수 있습니다. 단점은 코드와 문서를 반복하는 것입니다.
두 사용자 모두
/api/post
을 사용하고 표준 사용자의 경우?createdBy={id}
이없는 경우 요청을 거절하십시오.두 가지 모두에
/api/post
을 사용하십시오. 그러나 인증 방법에 따라 다르게 동작합니다. 표준 사용자의 경우 반환 된 목록은 항상 필터링됩니다./api/post/{id}
에 대해 사용자에게 속하지 않는 게시물에 대해 HTTP 403을 반환합니다.
어느 것이 좋습니까?