基本的なルート認証にACL middlewareを設定しようとしています。この例では、ユーザー(この場合は自分)が '管理者'権限を持つようにしようとしています。'リソースへのアクセスが不十分なアクセス許可':Mongoose + Expressを使用したACLミドルウェア
私のルートは次のようになります。ミドルウェアで
// define the home page route
router.get('/', acl.middleware(1, '594a984a9815beb8219dca22', 'admin'), function (req, res) {
acl.userRoles('594a984a9815beb8219dca22', function(err, roles){
res.send(roles)
})
})
、私はメッセージを取得:
HttpError: Insufficient permissions to access resource
私はミドルウェアなしでこのルートを実行する場合、usersRole()関数は、実際に来ません返信として
['admin']
を返します。 ACLが私を管理者として認識するために何が必要なのか分かりません。私は明らかに '管理者'の役割を持っています。
UPDATE
これは、接続コードです:
var dbConn = mongoose.connect(configDB.url); // connect to our database
acl = new acl(new acl.mongodbBackend(mongoose.connection.db))
マイconfig.urlのビーイング:
module.exports = {
'url' : 'mongodb://127.0.0.1:27017/NodeMongo'
}
問題がaclミドルウェア関数の定義なしでどのようになっているのか分かりません。 – MiiinimalLogic
これはaclのドキュメントのバニラ定義です。https://www.npmjs.com/package/acl#middleware – Ravioli87