モデル ディレクトリに json ファイルを定義し、json を読み込む .js ファイルを定義するサンプル アプリ スタイルに従っています。
私の問題は、役割を拒否する json ファイルの acls 定義everyone
が認識されていないことです。私はGET
api/clients
非特権ユーザーとして正常にステータスを取得できます200
。401
アクセスが拒否されました。
テストとして、デフォルトのユーザー モデルの json に同じ acls 定義を追加すると、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
}
}
client.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;
ACL はクライアント モデルで動作する必要がありますか、それともここでセットアップする必要があるものは他にありますか?