2016-07-18 8 views
2

ループバックを初めて使用しました。私はすべてのユーザー($ everyone)に対してDenyアクセス許可のためのACLを作成しました。しかし、私はswagger.Can誰もがこれを説明することによってすべてのAPIにアクセスできましたか? 以下はMy 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ためrichardpringle.Thanks @まだそれは動作していません –

+0

ループバックの[ガイドライン](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(); 
}; 

また、あなたのACLRoleMappingRoleモデルは、あなたのデータソースに正しくリンクされているかどうかを確認するためにあなたのserver/model-config.jsonファイルを確認してください。

あなたのACLは正しいので、問題は他の場所です。私の答えが助けにならない場合は、loopback-example-access-control repositoryをクローンして、あなたのために働いて、最終的にあなたの解決策とどのように異なるかを試してみてください。

また、検索のログを記録するために、コンソールに値loopback:security:*DEBUG環境変数をspecyfingによりdebugにそれを試してみて、要求が入って来て、サーバが行うチェックすることができます。

+0

なぜdownvote?誰かがコメントにdownvoteの理由を追加できる場合、私はそれをより良くするために私の答えを更新することができます。 –

関連する問題