使用mongo后端为mysql数据库创建ACL

时间:2018-07-18 08:21:54

标签: mysql node.js mongodb acl

在我们的快速应用中,我们使用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到此集合以创建列表?

0 个答案:

没有答案