如何解决动态ABAC的好解决方案
我正在寻找一些很好的解决方案,其中用户对资源的访问由多个可以频繁更改的属性决定。
对于像这样的规则
用户 X 必须具有属性 X.a ==(条件)和属性 X.b ==(另一个条件)
访问资源R,上面提到的a和b经常变化。
每个资源都有这个规则。
(就像只有具有 X.a ==(标准)和 X.b ==(另一个标准)的用户才能访问)
Q1) 用什么数据结构来表示这一点。
Q2) 实施策略 对于像
这样的用例使用示例场景详细说明上述内容。
-
完成课程将提升他们的等级(比如 1 级到 100 级)。 不活动会导致等级下降到之前的等级。
-
课程的发布者可以指定课程仅对级别 3 的用户可用。或者4级及以上,甚至只有3级和6级等等。
-
如果根据发布商的设置不符合资格,用户即使在列表中也不应该在任何地方看到课程。
目前我可以考虑建立从课程到级别的多对多关系(考虑到级别是固定的)。 在为用户列出课程时,我通过过滤课程关联级别和用户当前级别来查询课程。
当有多个像这样的标准时,这取决于动态数据。 例如:用户有不同类型的级别[编程级别、营销级别、财务级别])。
并且每个课程都有类似的设置
当编程级别 5 和营销级别 3 的用户应该看到包含课程 a 和 b 的列表时。
营销级别为 3 的用户应该只看到课程 b 的列表。
Q1 和 Q2) 就这种实现而言,最佳解决方案是什么
数据结构
查询所有符合条件的实体
检查一个实体的资格
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。