Keycloak是一个很棒的工具,但它没有适当的文档。
所以我们有Realm.roles,Client.roles和User.roles
使用特定客户端访问应用程序时,3如何协同工作?
此致
答案 0 :(得分:15)
在KeyCloak中,我们有以下3个角色:
KeyCloak中没有用户角色。您最有可能将其与用户角色映射混淆,用户角色映射基本上是将角色(领域,客户端或组合)映射到特定用户
为了了解这些角色的实际工作方式,让我们先来看看我创建的一个简单的Realm模型。如下图所示,每个领域都有一个或多个客户端。每个客户端都可以附加多个用户。
现在从中可以很容易地得出角色映射的工作原理。
领域角色:这是一个全球角色,属于该特定领域。您可以从任何客户端访问它并映射到任何用户。 Ex Role:'全球管理员,管理员
客户角色:这是一个仅属于该特定客户的角色。您无法从其他客户端访问该角色。您只能将其映射到该客户端的用户。 Ex Roles:'员工,客户'
复合角色:这是一个角色,其中包含一个或多个与之关联的角色(领域或客户角色)。