访问资源的权限不足
尝试在我的项目中集成访问控制列表,这里将userid(12345)分配给guest角色。当我访问网址时,我收到以下错误
HttpError:访问资源的权限不足 在/home/smi-user/chrysmo/node_modules/acl/lib/acl.js:649:14 在tryCatcher(/home/smi-user/chrysmo/node_modules/bluebird/js/main/util.js:26:23) 在Promise.successAdapter [as _fulfillmentHandler0](/home/smi-user/chrysmo/node_modules/bluebird/js/main/nodeify.js:23:30) 在Promise._settlePromiseAt(/home/smi-user/chrysmo/node_modules/bluebird/js/main/promise.js:579:21) 在Promise._settlePromises(/home/smi-user/chrysmo/node_modules/bluebird/js/main/promise.js:697:14) at Async._drainQueue(/home/smi-user/chrysmo/node_modules/bluebird/js/main/async.js:123:16) at Async._drainQueues(/home/smi-user/chrysmo/node_modules/bluebird/js/main/async.js:133:10) 在Immediate.Async.drainQueues [as _onImmediate](/home/smi-user/chrysmo/node_modules/bluebird/js/main/async.js:15:14) at processImmediate [as _immediateCallback](timers.js:383:17)
server.js
var express = require( 'express' );
var acl = require( 'acl' );
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Or Using the memory backend
acl = new acl(new acl.memoryBackend());
acl.allow([
{
roles:['guest','member'],
allows:[
{resources:'blogs', permissions:'get'},
{resources:['forums','news'], permissions:['get','put','delete']}
]
},
{
roles:['gold','silver'],
allows:[
{resources:'cash', permissions:['sell','exchange']},
{resources:['account','deposit'], permissions:['put','delete']}
]
}
]);
acl.addUserRoles('12345', 'guest');
app.get( '/blogs/:id',acl.middleware(1,getuserid()),
function( request, response, next ) {
console.log("test");
next();
}
);
function getuserid(){
return '12345';
}
// Starting the server
app.listen( 3030, function() {
console.log( 'ACL example listening on port 3030' );
});