在我们的快速应用中,我们使用MySQL
ORM的sequelize
数据库。现在,我正在尝试使用node_acl实现授权。
我有类似的东西:
var mongoose = require('mongoose'),
node_acl = require('acl'),
acl;
mongoose.connect('mongodb://127.0.0.1:27017/acl')
.then(()=> console.log('Mongo Database connected'))
.catch(err => console.log(err));
acl = new node_acl(new node_acl.mongodbBackend(mongoose.connection.db, 'acl'));
function set_roles() {
//define permissions for roles
acl.allow([
{
roles: 'a', //roles
allow: [
{resources: '/fe', permissions: ['put', 'delete']},
] //permissions
},
{
roles: 'b',
allows: [
{resources: '/:client/api/', permissions: ['get']}
]
},
{
roles: 'c',
allows: [
{resources: '/', permissions: ['post', 'put']}
]
},
{
roles: 'd',
allows: [
{resources:'/fe', permissions: ['get', 'post']}
]
}
]);
acl.addUserRoles(userId, role).then( ()=> console.log('added user'))
.catch(err => console.error(err));
}
//export acl
module.exports = acl;
我的问题: 我从文档中了解到,ACL为角色,资源和权限创建了一个单独的mongo集合。我该如何映射我的用户 用户/角色从mysql db到此集合以创建列表?