0

モデル ディレクトリに json ファイルを定義し、json を読み込む .js ファイルを定義するサンプル アプリ スタイルに従っています。

私の問題は、役割を拒否する json ファイルの acls 定義everyoneが認識されていないことです。私はGET api/clients非特権ユーザーとして正常にステータスを取得できます200401アクセスが拒否されました。

テストとして、デフォルトのユーザー モデルの 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 はクライアント モデルで動作する必要がありますか、それともここでセットアップする必要があるものは他にありますか?

4

1 に答える 1