Запутаться с петлевой ACL - PullRequest
0 голосов
/ 13 июня 2019

Для доступа к create of admin models доступ возможен только с помощью admin accesstoken.Добавлен ACL, но он по-прежнему может создавать администратора с токеном пользователя, роль которого USER

{
"_id" : ObjectId("5d01de6a65f3a121b8c25dbd"),
"principalType" : "USER",
"principalId" : "5d01de6a65f3a121b8c25dbc",
"roleId" : ObjectId("5cf8f99b0f8835f69ef14946")
},
{
"_id" : ObjectId("5d01de4a450c1553b68741fc"),
"principalType" : "USER",
"principalId" : "5d01de49450c1553b68741fb",
"roleId" : ObjectId("5cf8f9b20f8835f69ef14947")
}

Role модель

{
"_id" : ObjectId("5cf8f99b0f8835f69ef14946"),
"name" : "USER",
"description" : "user",
"created" : ISODate("2019-06-06T11:31:13.003Z"),
"modified" : ISODate("2019-06-06T11:31:13.003Z")
},
{
"_id" : ObjectId("5cf8f9b20f8835f69ef14947"),
"name" : "admin",
"description" : "admin",
"created" : ISODate("2019-06-06T11:31:55.479Z"),
"modified" : ISODate("2019-06-06T11:31:55.479Z")
}

Admin.json

"acls": [
    {
        "accessType": "*",
        "principalType": "ROLE",
        "principalId": "$everyone",
        "permission": "DENY"
    },
    {
        "accessType": "EXECUTE",
        "principalType": "ROLE",
        "principalId": "admin",
        "permission": "ALLOW",
        "property": "create"
    }
]
...