【问题标题】:Loopback - Add user is not adding the roleMapping dataLoopback - 添加用户未添加角色映射数据
【发布时间】:2017-02-10 09:10:48
【问题描述】:

在添加用户的同时,在roleMapping中添加用户对应的数据的最佳做法是什么。

1)在model-config中设置relation,是否会添加roleMapping数据?

2) 在用户的保存后钩子中,需要手动添加roleMapping,参考这里:[Link][1]。

[1]:Dynamically adding user to a loopback Role,如下图:

user.observe('after save', function function_name(ctx, next) {
  if (ctx.instance) {
    if(ctx.isNewInstance) {

      // look up role based on type
      //
      Role.find({where: {name: 'role-name'}}, function(err, role) {
        if (err) {return console.log(err);}

        RoleMapping.create({
          principalType: "USER",
          principalId: ctx.instance.id,
          roleId: role.id
        }, function(err, roleMapping) {

          if (err) {return console.log(err);}

          console.log('User assigned RoleID ' + role.id + ' (' + ctx.instance.type + ')');

        }):

      });

}

} 下一个(); });

【问题讨论】:

    标签: node.js loopback


    【解决方案1】:
    user.observe('after save', function function_name(ctx, next) {
    if (ctx.instance) {
        if (ctx.isNewInstance) {
            // look up role based on type
            Role.find({
                where: {
                    name: 'role-name'
                }
            }, function(err, role) {
                if (err) {
                    return console.log(err);
                }
                role.principals.create({
                    principalType: RoleMapping.USER,
                    principalId: ctx.instance.id
                }, function(err, roleMapping) {
                    if (err) {
                        return console.log(err);
                    }
                    console.log('User assigned RoleID ' + role.id + ' (' + ctx.instance.type + ')');
                }):
            });
        }
    }
    next();
    

    });

    根据我对环回的理解,用户和角色是通过角色映射模型连接的。 IE。用户通过 RoleMapping 拥有许多角色,反之亦然。

    你写的也可以这样。

    在principalType 中,您可以指定任何您想要的字符串。如果您提供RoleMapping.USER,它将在数据库中显示USER。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2015-05-18
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多