首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Loopback -添加用户未添加roleMapping数据

Loopback -添加用户未添加roleMapping数据
EN

Stack Overflow用户
提问于 2017-02-09 23:17:05
回答 1查看 590关注 0票数 0

在添加用户时,在roleMapping中添加与用户对应的数据的最佳实践是什么。

1)在模型配置中设置关系,是否会添加roleMapping数据?

2)在用户的after save钩子中,需要手动添加如下所示的链接: roleMapping。

1:Dynamically adding user to a loopback Role,如下所示:

代码语言:javascript
运行
复制
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 + ')');

        }):

      });

}

} next();});

EN

回答 1

Stack Overflow用户

发布于 2017-02-10 09:10:49

代码语言:javascript
运行
复制
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();

});

根据我对环回的理解,用户和角色是通过RoleMapping模型连接起来的。即。用户通过RoleMapping拥有多个角色,反之亦然。

你写的东西也可以这样做。

principalType中,您可以指定所需的任何字符串。如果你给RoleMapping.USER,它将在数据库中显示USER

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42140398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档