MySQL:从RBAC数据库检索所有权限的最有效方法是什么?

亚历山大·马可夫(Aleksandr Makov)

再会。

我有一个基于角色的访问控制数据库,正在寻找一种有效的方法来获取用户拥有的所有权限。这是原理图:

RBAC数据库设计

现在,我需要以最(可能)最有效的方式获得所有用户的许可。试过这个查询:

SELECT p.name
  FROM permission p
  WHERE p.id = (
    SELECT rpl.permission_id
    FROM role_permission_list rpl
    WHERE rpl.role_id = (
      SELECT url.role_id
      FROM user_role_list url
      WHERE url.user_id = 2
    )
)

但这失败了。由于子查询返回了1个以上的结果。试图考虑加入-无法解决。

提前致谢。

PS:将来会有一个Permission_overrides表,因为一个独立的访问控制实体可能具有排他的权限集。

阿尔玛·杜(Alma Do)

这将是简单的3个联接,例如:

SELECT
  `user`.id,
  permission.*
FROM
  `user`
    LEFT JOIN user_role_list ON `user`.id=user_role_list.user_id
    LEFT JOIN role_permission_list ON user_role_list.role_id=role_permission_list.role_id
    LEFT JOIN permission ON role_permission_list.permission_id=permission.id
WHERE
  `user`.id=$user_id

(由于您不是要查找来自特定权限的角色描述,因此我没有包括要查询的表)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MySQL数据库中保存数据的最有效方法是什么

来自分类Dev

在关系数据库中记录同胞的最有效方法是什么?

来自分类Dev

从pouchdb数据库读取关系的最有效方法是什么

来自分类Dev

从数据库中删除满足条件的实体的最有效方法是什么?

来自分类Dev

从 Azure 文档数据库的分区集合中的特定分区查询所有文档的最有效方法是什么?

来自分类Dev

检查数据库中是否有新条目的最快,最有效的方法是什么?

来自分类Dev

检查用户是否存在于数据库中的最有效方法是什么?

来自分类Dev

检查 Firebase 实时数据库节点值的相等性并更改它的最有效方法是什么?

来自分类Dev

多次查询数据库的最有效方法

来自分类常见问题

向数据库上的用户授予所有权限

来自分类Dev

向用户授予PostgreSQL数据库上的所有权限

来自分类Dev

向用户授予数据库的所有权限

来自分类Dev

MySQL:将对数据库的所有权限授予用户,但用户甚至看不到数据库

来自分类Dev

将行插入MySQL数据库的最有效方法

来自分类Dev

向YugabyteDB中的用户授予数据库中所有表的所有权限

来自分类Dev

基于两列的所有组合检索数据的有效方法是什么?

来自分类Dev

在Oracle数据库中从联接查询结果为每一行更新一列的最有效方法是什么?

来自分类Dev

使用 Wagtail 页面模型获取查询集中外键的特定字段的最有效的数据库方法是什么

来自分类Dev

将电话联系人与MySQL数据库进行比较的有效方法是什么?(类似于WhatsApp)

来自分类Dev

将电话联系人与MySQL数据库进行比较的有效方法是什么?(类似于WhatsApp)

来自分类Dev

从包含多个已排序运行的文件中检索行的最有效方法是什么

来自分类Dev

从包含多个已排序运行的文件中检索行的最有效方法是什么

来自分类Dev

按日期和/或月份和/或年份检索记录的最有效方法是什么?

来自分类Dev

将最高有效设置位以下的所有位归零的最有效方法是什么?

来自分类Dev

删除/终止Apache Pulsar主题中的所有消息的最有效方法是什么?

来自分类Dev

汇总名称以模式开头的所有列的最有效方法是什么?

来自分类Dev

从Elasticsearch获得所有结果的最有效方法是什么?

来自分类Dev

总结前几年所有观察结果的最有效方法是什么

来自分类Dev

在asp.net中访问sql数据库的有效方法是什么

Related 相关文章

  1. 1

    在MySQL数据库中保存数据的最有效方法是什么

  2. 2

    在关系数据库中记录同胞的最有效方法是什么?

  3. 3

    从pouchdb数据库读取关系的最有效方法是什么

  4. 4

    从数据库中删除满足条件的实体的最有效方法是什么?

  5. 5

    从 Azure 文档数据库的分区集合中的特定分区查询所有文档的最有效方法是什么?

  6. 6

    检查数据库中是否有新条目的最快,最有效的方法是什么?

  7. 7

    检查用户是否存在于数据库中的最有效方法是什么?

  8. 8

    检查 Firebase 实时数据库节点值的相等性并更改它的最有效方法是什么?

  9. 9

    多次查询数据库的最有效方法

  10. 10

    向数据库上的用户授予所有权限

  11. 11

    向用户授予PostgreSQL数据库上的所有权限

  12. 12

    向用户授予数据库的所有权限

  13. 13

    MySQL:将对数据库的所有权限授予用户,但用户甚至看不到数据库

  14. 14

    将行插入MySQL数据库的最有效方法

  15. 15

    向YugabyteDB中的用户授予数据库中所有表的所有权限

  16. 16

    基于两列的所有组合检索数据的有效方法是什么?

  17. 17

    在Oracle数据库中从联接查询结果为每一行更新一列的最有效方法是什么?

  18. 18

    使用 Wagtail 页面模型获取查询集中外键的特定字段的最有效的数据库方法是什么

  19. 19

    将电话联系人与MySQL数据库进行比较的有效方法是什么?(类似于WhatsApp)

  20. 20

    将电话联系人与MySQL数据库进行比较的有效方法是什么?(类似于WhatsApp)

  21. 21

    从包含多个已排序运行的文件中检索行的最有效方法是什么

  22. 22

    从包含多个已排序运行的文件中检索行的最有效方法是什么

  23. 23

    按日期和/或月份和/或年份检索记录的最有效方法是什么?

  24. 24

    将最高有效设置位以下的所有位归零的最有效方法是什么?

  25. 25

    删除/终止Apache Pulsar主题中的所有消息的最有效方法是什么?

  26. 26

    汇总名称以模式开头的所有列的最有效方法是什么?

  27. 27

    从Elasticsearch获得所有结果的最有效方法是什么?

  28. 28

    总结前几年所有观察结果的最有效方法是什么

  29. 29

    在asp.net中访问sql数据库的有效方法是什么

热门标签

归档