如何解决什么是“双向应用安全过滤器”普通与安全过滤器?
我有包含用户 ID、用户名、用户邮箱的用户表
使用 username() 过滤器在此表上应用 RLS
用户表通过 userid 连接到销售表,因此用户只能看到他的销售。
在 company_id 上有从 sales 表到 company 表的关系(1 个公司有很多销售额)。我启用了交叉过滤器,所以选择了几个销售显示相应的公司名称。
当我建立双向关系时,有一个名为“双向应用安全过滤器”的选项。取消选中此项后,将传递所选销售的常规过滤器以过滤公司表。
那么勾选这个功能有什么用呢?普通过滤器和安全过滤器有什么区别?
解决方法
要使 RLS 在 Dim 表的多个实例上有效,而不是在我们创建的表上显式有效,我们必须在两个方向上显式应用安全过滤器。
例如: 考虑我有 2 个 DIM 表: a) 员工 b) 公司
还有 2 个事实表: a) 员工工资 b) 销售
Company 和 sales 之间存在 1:m 的关系 以及 Employee 和 EmployeeSalary 之间的 1:1 关系 公司与员工的1:m关系
假设 RLS 基于登录名应用于员工表。
如果没有应用双向过滤器,如果是按公司的销售和员工工资切片;结果将是:
- 对于薪水,员工只能看到他的薪水
- 而他将能够看到所有公司的销售额
如果存在双向过滤器,那么用户将只能看到他所标记的公司的销售额。
希望这能澄清双向过滤器的需求。
以下链接将提供详细说明:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。