node.js - 如何使用环回保护不同角色的属性

标签 node.js loopbackjs

我只是想知道如何将属性访问限制为仅 $owner 角色。例如,在我的例子中,我有一个有作者的笑话。作者以用户为基础。我希望其他“作者”/用户看到谁创建了笑话,但他们不应该看到作者的电子邮件,只有当作者是笑话本身的 $owner 时,才可以显示他们的电子邮件,只是为了这个案子。

查看内置用户模型,您可以看到他们使用隐藏 功能来隐藏密码,但是将其用于他们的电子邮件也会隐藏他们的 $owner 电子邮件,即不是我想要的

如果有什么不清楚的地方,请告诉我。

提前致谢

最佳答案

注册beforeRemote hook并检查当前用户是否为 $owner .

Joke.boforeRemote('findById', function(context, joke, next) {
  // 1. find current user by id, using context.req.accessToken.userId
  // 2. check if he is owner or not, by Role.isOwner
  // 3. remove email from returned joke instance if user is not $owner
})

注意:覆盖所有返回笑话的端点可能有点复杂。但是还有其他方法吗?

关于node.js - 如何使用环回保护不同角色的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28048045/

相关文章:

node.js - 如何在node.js中跟踪多个文件?

javascript - 编译CoffeeScript

node.js - lb-ng 环回命令从异步模块返回 "Cannot read property ' apply' of undefined"

node.js - Node js 应用程序洞察采样,对除错误/异常之外的所有内容进行采样

javascript - 用响应式编程重写事件发射器(信号量示例)

javascript - Loopback中静态远程方法及其方法签名的定义

node.js - 如何通过环回获取主详细信息查询?

node.js - 错误 :"Property ' 类型 'LoopBackApplication' 上不存在注册表”

node.js - 为什么bulkCreate 只在DB 中写入有限数量的记录(Postgres && Sequelize)

android - 环回+AndroidSDK : Retrieving Date fields