Я следую стилю примера приложения, определяя файл json в каталоге моделей вместе с файлом .js для загрузки файла json.
Моя проблема в том, что определения acls в моем файле json, который запрещает роль everyone
, не распознаются. Я могу успешно GET
api/clients
как непривилегированный пользователь со статусом 200
. Ожидаю получить статус 401
, доступ запрещен.
В качестве теста я добавляю те же определения acls в json пользовательской модели по умолчанию и получаю статус 401
, доступ запрещен, как и ожидалось.
Вот некоторые из client.json
(как в клиенте, не путать с внешним интерфейсом)
{
"name": "client",
"public": true,
"dataSource": "db",
"plural": "clients",
"options": {
"strict": true,
"acls": [
{
"accessType": "*",
"permission": "DENY",
"principalType": "ROLE",
"principalId": "$everyone"
}
],
"scopes": {
"active": {"where": {"active": true}, "order": "company_name"}
}
},
"properties": {
"id": {
"type": "string",
"generated": true,
"id": true
},
"active": {
"type": "Boolean",
"default": true
},
"company_name": {
"type": "string",
"required": true,
"length": 64
}
}
клиент.js
var app = require('./../app');
var db = app.dataSources.db;
// Load config
var config = require('./client.json');
// Create model from config
var Client = db.createModel('client', config);
// Add to REST API
app.model(Client);
module.exports = Client;
Должны ли acls работать с моей моделью клиента или здесь нужно что-то еще настроить?