我只是在尝试同样的事情(不确定其中的优点),并且我设法使用 MongoDB 驱动程序进行连接。
你必须
npm install mongodb --save
然后,假设您的 config/connections.js 中有以下适配器信息:
MyMongo: {
adapter: 'sails-mongo',
host: 'localhost', // defaults to `localhost` if omitted
port: 27017, // defaults to 27017 if omitted
user: '', // or omit if not relevant
password: '', // or omit if not relevant
database: 'someDB' // or omit if not relevant
},
您现在可以执行以下操作:
var node_acl = require('acl');
var MongoClient = require('mongodb').MongoClient;
var dbInstance = "mongodb://"+sails.config.connections.MyMongo.host+":"+
sails.config.connections.MyMongo.port+"/"+sails.config.connections.MyMongo.database;
MongoClient.connect(dbInstance, function(error, db) {
//check for errors...
var mongoBackend = new node_acl.mongodbBackend(db, 'acl_');
var acl = new node_acl( mongoBackend );
acl.allow('role', 'model', 'action'); // Now you can do this...
}
我希望这会有所帮助。请注意,我添加了 acl_ 前缀,因此 ACL 生成的所有集合都可以与您的带有风帆的模型使用的其他集合区分开来。