gpt4 book ai didi

node.js - 将node_acl模块与SailsJs集成

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:35 25 4
gpt4 key购买 nike

我尝试使用 sails js 实现基于角色的身份验证并使用 node_acl中间件。以前有人尝试过吗?我从 acl 文档中看到的是

//使用mongodb后端
acl = new acl(new acl.mongodbBackend(dbInstance, prefix));

如何从 SailsJs 获取 dbInstance 对象

最佳答案

我只是尝试同样的事情(不确定其中的优点),并且我设法使用 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 生成的所有集合都可以与带 sails 的模型使用的其他集合区分开来。

关于node.js - 将node_acl模块与SailsJs集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34990178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com