【问题标题】:Sequelize - Is there any way to do Data Abstraction/Filtering?Sequelize - 有没有办法进行数据抽象/过滤?
【发布时间】:2018-08-16 01:07:41
【问题描述】:

首先,很抱歉,如果我要重新发布,但我找不到任何相关内容。

我正在开发一个处理非常敏感数据的应用程序。我想按用户角色过滤这些数据。

我已经使用Doctrine Filters 完成了这项工作(在另一项工作中),但我找不到任何有关如何使用 Sequelize(通过 PostgreSQL)完成这项工作的信息。

例如:

sensitive_information:

| user_id | sensible_value |
+---------+----------------+
| 1       | something      |
| 2       | something_else |

我需要这个:

SELECT *
  FROM sensitive_information
  WHERE user_id = 1; /** I need this to be added automatically in all
                         queries to sensitive_information */

因此,用户 1 永远不会看到其他用户的信息。这就是目标。

有可能吗?我愿意接受建议。

提前致谢。

【问题讨论】:

  • 看看范围。我认为这可能会有所帮助。这是链接docs.sequelizejs.com/en/latest/docs/scopes
  • 是的@Hanna,我看到了。但它要求数据消费者明确使用其允许的范围。如果没有指定范围,那么他们将看到完整的数据。我想要最低级别的东西。

标签: node.js postgresql doctrine filtering sequelize.js


【解决方案1】:

这可以通过使用Sequelize scopes来解决。

因为作用域可以是函数:

作用域在模型定义中定义,可以是查找器对象,也可以是返回查找器对象的函数

很容易定义一个根据登录用户过滤信息的范围。

我还没有完全实现这个范围,但是如果有人需要帮助,我有一个很好的解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多