저는 현재 MongoDB 백엔드를 사용하여 REST API를 개발 중이며 액세스 권한으로 인해 클라이언트는 일부는 액세스 할 수 있고 다른 일부는 금지 된 데이터를 찾을 수 있습니다.
예를 들어 데이터베이스에서 단일 요청 개체 A, B 및 X를 갖고 싶지만 개체 X에 액세스 할 수있는 충분한 권한이 없다고 가정 해 보겠습니다.
내 API가 A, B 및 개체 X에 대한 금지 상태에 응답하기를 원합니다. 이를 수행 하기 위한 모범 사례 가 있습니까? 결과 요청 상태 코드는 무엇입니까?
사용자가 URI를 사용하여 단일 리소스 의 표현을 검색하려고 시도 하고 사용자에게 이러한 리소스에 액세스 할 수있는 충분한 권한이없는 경우 서버는을 반환 할 것으로 예상됩니다 403
. 또는 404
, 서버가 해당 리소스의 존재를 숨기려는 경우.
반면, 사용자 가 리소스 모음의 표현을 가져오고 권한 부족으로 인해 사용 가능한 모든 리소스를 반환 할 수없는 시나리오에서 서버는 사용자가 원하는 리소스의 표현 만 반환해야합니다. 에 액세스 할 수 있습니다.
리소스 필드에 대한 액세스를 제한하려는 경우 해당 필드에 대해 서로 다른 URI를 사용하고 그에 따라 권한의 유효성을 검사 할 수 있습니다.
다음 예를 고려하십시오.
/orders/{id}
: 주어진 주문 요약/orders/{id}/items
: 지정된 주문 항목/orders/{id}/payment
: 지정된 주문의 결제 세부 정보/orders/{id}/invoice
: 지정된 주문의 인보이스 세부 정보/orders/{id}/delivery
: 지정된 주문의 배송 세부 정보이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다