Role.getRoles(context,callback)中引用的“安全上下文”是什么

时间:2018-09-14 09:48:48

标签: loopback

在环回Role.getRoles(context, callback)中,他们在文档link中将文档上下文称为“安全上下文”。

什么是安全上下文,以及如何通过它来获取用户角色?

1 个答案:

答案 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 (包括动态)。