2016-05-18 6 views
2

コンテナモデルは次のようになります。私はそれに画像を投稿する場合折り返し成分ストレージACL 401エラー

{ 
    "name": "container", 
    "base": "Model", 
    ... 
    "acls": [ 
    { 
     "principalType": "ROLE", 
     "principalId": "$everyone", 
     "permission": "DENY", 
     "accessType": "*" 
    }, 
    { 
     "principalType": "ROLE", 
     "principalId": "admin", 
     "permission": "ALLOW", 
     "accessType": "WRITE" 
    } 
    ] 
} 

は401エラーを返します。私はjsonモデルで同じアクセストークンと同じaclで2つのリクエストを行うので、私は 'admin'ユーザーとしてログインしていると確信しています。最初のもの(コンテナではない)では動作しますが、コンテナでは動作しません。

コンテナACLに問題はありますか?

----- -----編集

DEBUG =ループバックを皮切り:セキュリティ:それを返すのacl:

---ACL--- 
model container 
property * 
principalType ROLE 
principalId $everyone 
accessType * 
permission DENY 
with score: 7495 
---ACL--- 
model container 
property * 
principalType ROLE 
principalId admin 
accessType WRITE 
permission ALLOW 
with score: -1 

"property": "*"は、ACLのデフォルトです。

最初のリクエスト(コンテナではありません)では、同じものを返しますが、admin-write-allowは$ everyone- * - denyよりも高いスコアを返します。

設定"score": -2は機能しません。

答えて

1

あなたはプロパティ(基本的にはメソッド)を定義していないので、AClの解像度は最初のものから第2番目のものに大きな重みを与えます。

"acls": [ 
{ 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "DENY", 
    "accessType": "*" 
}, 
{ 
    "principalType": "ROLE", 
    "principalId": "admin", 
    "property": "*", // Add this line 
    "permission": "ALLOW", 
    "accessType": "WRITE" 
} 
] 

しかし、ACLは時々理解するのが難しい場合があります。 Windows上で

を:私はACLシステムが解決したまさに見てdebug stringを使用することをお勧めします

set DEBUG=loopback:security:acl && node . 

EDIT:

問題は、実際にアクセスタイプ(要求されたエンドポイントから来ていましたWRITEではなくEXECUTEでした)、ACLは期待どおりに解決されませんでした。

+0

デバッグのヒントありがとうございます。 '" property ":" * "' seamsがデフォルトのものになります。 – Piu130

+0

私は ''プロパティ ":" * "'で試しました。スコアは同じで動作しません。 – Piu130

+0

あなたはどこに電話していますか? – Overdrivr

関連する問題