2016-07-18 4 views
2

루프백을 처음 사용했습니다. 나는 모든 사용자 ($ everyone)에 대한 거부 권한 ACL을 만들었지 만 swagger를 통해 모든 API에 액세스 할 수 있습니다. 누구든지 설명 할 수 있습니까? 다음은 내 ACL입니다. 감사.루프 백 DENY in Acl이 작동하지 않습니다.

"acls": [ 
    { 
     "accessType": "*", 
     "principalType": "ROLE", 
     "principalId": "$everyone", 
     "permission": "DENY" 
    } 
] 

답변

1

이 같은 accessType을 제거하십시오 :

{ 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "DENY" 
} 

그렇지 않으면, 할 수있는 가장 좋은 방법은 LoopBack-sandbox를 복제하고 저장소에 문제를 재현하고 GitHub의에 문제를 게시하는 것입니다.

+0

을 response.But 여전히 작동하지 않습니다. –

+0

LoopBack의 [guidelines] (https://github.com/strongloop/loopback/wiki/Questions)에 따르면, GitHub가 문제를 제기 할 때 질문을 게시하는 것에 감사하지 않습니다. 대신 [google groups] (https://groups.google.com/forum/#!forum/loopbackjs) 또는 [gitter] (https://gitter.im/strongloop/loopback)를 사용하십시오. –

+0

@ Riyash.D, [loopback-sandbox] (https://github.com/strongloop/loopback-sanbox)를 포크하고 문제를 포크에 재현하면 여기에 의견을 말할 수 있으며 누군가가 당신이 정확히 무엇을 잘못하고 있는지 당신에게 말하십시오. – richardpringle

1

가능한 이유 :

enable access control하려면 enableAuth()를 호출해야합니다. 예를 들어, 부팅 스크립트 server/boot/authentication.js에 :

module.exports = function enableAuthentication(server) { 
    server.enableAuth(); 
}; 

또한 ACL, RoleMappingRole 모델이 데이터 소스에 제대로 연결되어 있는지 확인하려면 server/model-config.json 파일을 확인하십시오.

ACL이 정확하므로 다른 곳에 문제가 있습니다. 내 대답이 도움이되지 않는 경우, loopback-example-access-control repository을 복제하고, 문제가 해결 될 경우 시도해보고 결국 솔루션과 다른 점을 찾아보십시오.

또한 조회를 기록 할 수있는 콘솔 값 loopback:security:*DEBUG 환경 변수를 specyfing에 의해 debug에 시도하고 요청에 와서 서버가하게 확인 할 수 있습니다. richardpringle.Thanks @

+0

왜 downvote? 누군가가 의견에 downvote에 대한 이유를 추가 할 수 있다면, 나는 그것을 개선하기 위해 내 대답을 업데이트 할 수 있습니다. –