javascript - 从 Sails 中的模型内部获取当前用户

标签 javascript node.js sails.js access-control

我在 Sails 中使用模型的 toJSON() 方法,以便在模型通过应用程序的 API 公开时控制其某些属性的可见性。

为了决定显示哪些属性以及忽略哪些属性,我需要知道当前用户的权限。那么,如何从模型内部获取当前用户呢?或者有更好的方法(模式)来解决这个问题吗?

这是我想要实现的一些示例代码:

toJSON: function () {

  var result = {};

  result.firstName = this.firstName;
  result.lastName = this.lastName;

  // Exposing emails only to admin users.
  if (currentUser.isAdmin()) {
    result.email = this.email;
  }

  return result;

}

最佳答案

您询问有关读取模型调用中的 session 的问题。目前的 sails 和水线 build 方式你无法做到这一点。

您可以在初始模型调用中使用 select 属性来限制返回的列。由于这将在您的 Controller 的上下文中,您将有权访问 req 对象。

以下是关于此主题的一系列相关问题/答案。

sails.js Use session param in model

Is it possible to access a session variable directly in a Model in SailsJS

https://github.com/balderdashy/waterline/issues/556

https://github.com/balderdashy/waterline/pull/787

Sails Google Group Discussion on the topic

关于javascript - 从 Sails 中的模型内部获取当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145550/

相关文章:

javascript - 如何使用条件为 'IF' 的按钮更改具有功能的 DIV 的背景颜色

javascript - 如何更改 iframe src 使用 angularjs

javascript - 更改 Node 服务器端的innerhtml

mongodb - 如何修复适配器错误: Unexpected error from database adapter: object [ {"_bsontype" :"ObjectID" ,"id":null}]

javascript - NodeJS/SailsJS 中 next() 的具体作用是什么?

javascript - 查询中的 Waterline ORM (sails.js) "where or"

javascript - React 中的复选框树有什么帮助吗?

javascript - Skrollr.js 获取内容时的哈希 URL

node.js - 基石js : Is there way to remove Manage button from one of the model?

javascript - 无法导入以 UTF-8 BOM 编码的较少文件