我遵循在模型目录中定义 json 文件的示例应用程序样式,以及用于加载 json 的 .js 文件。
我的问题是我的 json 文件中拒绝everyone
角色的 acls 定义未被识别。我能够以GET
api/clients
非特权用户的身份成功使用 status 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 应该在我的客户端模型上工作还是我需要在这里设置其他东西?