在添加用户时,在roleMapping中添加与用户对应的数据的最佳实践是什么。
1)在模型配置中设置关系,是否会添加roleMapping数据?
2)在用户的after save钩子中,需要手动添加如下所示的链接: roleMapping。
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 + ')');
}):
});
}} next();});
发布于 2017-02-10 09:10:49
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。
https://stackoverflow.com/questions/42140398
复制相似问题