首先,我很抱歉,如果我重新发帖,但我找不到任何相关内容。
我正在处理处理非常敏感数据的应用程序。我想根据用户的角色过滤这些数据。
我已经使用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永远不会看到其他用户的信息。这就是目标。
有可能吗?我愿意接受建议。
提前致谢。
答案 0 :(得分:0)
这可以通过使用Sequelize scopes来解决。
因为范围可以是函数:
范围在模型定义中定义,可以是查找器对象,也可以是返回查找器对象的函数
定义一个根据登录用户过滤信息的范围很容易。
我还没有实现这个范围,但是我对如果有人需要帮助时如何解决这个问题有一个很好的主意。