loopback - Role.getRoles(context, callback) 中引用的“安全上下文”是什么
解决方案
正如文档中所述,LoopBack 的访问控制系统是围绕几个核心概念构建的。其中“委托人” - 可以识别或验证的实体。有三个基本的“principalType”——APP(LICATION)、USER、ROLE。每个特定的主体对象都有一个“principalId”——主体的 ID——例如 appId、userId 或 roleId。
getRoles 函数将 instanceof 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(包括动态)。
推荐阅读
- c++ - C++ 跳过登录对话框
- redis - 如何执行多哈希 redis 查询
- javascript - 如何解决总是从ajax循环选择选项值
- selenium - Selenium XPath:如何获取使用属性的 href 值
- discord.py - Discord 机器人响应不适合该机器人的 ping
- mysql - 用于从数字列中提取范围的 SQL 查询
- go - go type-switch 如何处理指向 nil
- qt - 更改桌面分辨率时,Qt showMaximized() 无法按预期工作
- c - 为什么我得到错误,虽然一切都被宣布好?
- graphql - XRay Cloud GraphQL API 返回 100 多个结果