Ich versuche, ACL in meiner Node.js-Anwendung zu verwenden.TypeError: acl.middleware() ist keine Funktion
Mit acl Modul, ich habe den folgenden Code:
var express = require('express'),
logger = require('morgan'),
mongoose = require('mongoose'),
Acl = require('acl');
var app = express();
app.set('port', 8000);
mongoose.connect('mongodb://localhost:27017/test', function() {
console.log('Mongodb connection connected');
var acl = new Acl(new Acl.mongodbBackend(mongoose.connection.db, 'acl_'), logger());
acl.allow([
{
roles: ['guest'],
allows: [
{ resources: '/test', permissions: 'get' }
],
}
]);
console.log('acl.middleware is a ', typeof acl.middleware);
app.get('/test', acl.middlemare(), function (req, res) {
});
app.get('/unauthorized', acl.middlemare(), function (req, res) {
});
});
app.listen(app.get('port'), function() {
console.log('Express server listening on port %d', app.get('port'));
});
Wenn ich den Server zu starten, erhalte ich die folgende Ausgabe:
Express server listening on port 8000
Mongodb connection connected
acl.middleware is a function
TypeError: acl.middleware() is not a function
...
Edit: Nach einem Logger platzieren, I Bin ein gegeben: Error: Broke parameter contract
Ich kann nicht herausfinden, was ich falsch mache.
Ich habe mir diese verwandte answer angesehen, aber immer noch kein Glück, es zur Arbeit zu bringen.
Gibt es noch etwas, das ich vermisse?
Entweder Ihr Code oder die Fehlermeldung ist nicht das, was Sie tatsächlich in der Realität haben. 'middle mare'! =' middleware' – str