在环回Role.getRoles(context, callback)
中,他们在文档link中将文档上下文称为“安全上下文”。
什么是安全上下文,以及如何通过它来获取用户角色?
答案 0 :(得分:0)
据文档所述,LoopBack的访问控制系统是围绕一些核心概念构建的。其中的“委托人”-可以识别或认证的实体。有三个基本的“ principalType”-APP(LICATION),USER,ROLE。每个特定的主体对象都有一个“ principalId”(主体的ID),例如appId,userId或roleId。
getRoles函数将参数 context 作为AccessContext的实例,或者将其强制转换为http://apidocs.loopback.io/loopback/#accesscontext,并列出给定的主要角色。
AccessContext函数(用于强制转换)还接受使用以下属性定义的单个主体:
{ principalType: 'USER', principalId: '2' }
以同样的方式,我们可以在请求角色时定义上下文:
Role.getRoles({ principalType: 'USER', principalId: '2' }, (err, roles) => {
if (err) console.log(err);
console.log(roles);
});
并为ID为“ 2”的用户获取一组角色 ID (包括动态)。