Keycloak 密钥斗篷角色是如何管理的?

Keycloak 密钥斗篷角色是如何管理的?,keycloak,Keycloak,KeyClope是一个很好的工具,但它缺乏适当的文档 所以我们有Realm.roles、Client.roles和User.roles 当使用特定的客户端访问应用程序时,这三者如何协同工作 诚恳地说,在KeyClope中,我们有三个角色: 领域角色 客户角色 组合角色 密钥斗篷中没有用户角色。您很可能将其与用户角色映射相混淆,用户角色映射基本上是将角色(领域、客户端或组合)映射到特定用户 为了了解这些角色实际上是如何工作的,让我们首先看看我创建的一个简单的领域模型。如下图所示,每个领域都有一个或

KeyClope是一个很好的工具,但它缺乏适当的文档

所以我们有Realm.roles、Client.roles和User.roles

当使用特定的客户端访问应用程序时,这三者如何协同工作


诚恳地说,

在KeyClope中,我们有三个角色:

  • 领域角色
  • 客户角色
  • 组合角色
  • 密钥斗篷中没有用户角色。您很可能将其与用户角色映射相混淆,用户角色映射基本上是将角色(领域、客户端或组合)映射到特定用户

    为了了解这些角色实际上是如何工作的,让我们首先看看我创建的一个简单的领域模型。如下图所示,每个领域都有一个或多个客户端。每个客户端都可以连接多个用户

    现在,从这里可以很容易地得出角色映射是如何工作的

    领域角色:它是一个全局角色,属于该特定领域。您可以从任何客户端访问它,并映射到任何用户。前角色:“全局管理员,管理员”

    客户端角色:该角色仅属于该特定客户端。您不能从其他客户端访问该角色。您只能将其映射到该客户端的用户。前角色:“员工,客户”


    复合角色:它是一个具有一个或多个关联角色(领域或客户端角色)的角色

    谢谢你,不是我更困惑。。。示波器在画面中如何发挥作用?客户端角色是增加领域角色还是限制领域角色?如果我有一个webapp客户端和一个mobile客户端,两者共享相同的客户端角色呢?因为你已经知道,keydape社区并没有那么大,因此,据我所知,没有针对这种情况的最佳实践。您可以创建一个全局(领域级别)角色,并从两个客户端轻松访问它,也可以在每个客户端中创建两个相同的角色。根据您的项目规模,从最适合您的项目中选择。谢谢,我知道了-再次强调,KeyClope文档在该领域非常薄弱。我终于理解了客户机如何基于范围“过滤”用户角色。从您的评论中,我还了解到roleId可以跨多个客户端“复制”。@Dino我有一个问题,在我基于java的项目中,我希望允许用户根据其角色查看数据库数据。当然,在spring安全性的帮助下,我可以根据用户的角色检查角色,但也可以在数据库级别处理事情?在KeyClope 8.0中是否删除了复合角色?