ループバックを使用してSPAのWebサイト用の簡単なAPIを作成しています。私は、できるだけ簡単に、私の権限を維持したいので、私はいくつかのモデルでは、いくつかの方法は、誰もすべてのメソッドがある ユーザモデルのループバックACL
- 、次のACLモデルになってしまいました許可されたユーザーに許可されています
私は複数のユーザーを作成し、誰もユーザーを作成または変更できない場合、これは明らかに機能します。組み込みのUser
モデルのアクセス許可を明示的に変更できないため、User
に拡張されたadmin
モデルを作成しました。次に、のモデルをUser
というモデルのプロパティをfalseに設定しました。私はそれを見るように、それはlogin
以外の任意のメソッドに任意のunathorizedユーザーアクセスを拒否すべき次のACLルールに
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW",
"property": "login"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW"
}
を設定します。
残念ながら、それはどのように動作しますか、誰でもまだ/ usersにPOSTして新しいユーザーを作成できます。私の推測では、ACLルールは継承モデルには適用されないので、ここではUser
のルールが適用されます。だから正方形に戻って、User
のパーミッションを直接変更したり、オーバーライドすることはできません。
ここには何がありますか?新しいユーザーの作成を防ぐ方法はありませんか?