Keycloak 角色是如何管理的?
How are Keycloak roles managed?
Keycloak 是一个很棒的工具,但它缺少适当的文档。
所以我们有 Realm.roles、Client.roles 和 User.roles
使用特定客户端访问应用程序时,这 3 个如何协同工作?
此致,
在 KeyCloak 中,我们有这 3 个角色:
- 领域 角色
- 客户 角色
- 复合 角色
KeyCloak 中没有用户角色。您很可能将其与用户角色映射混淆,后者基本上是将角色(领域、客户端或复合)映射到特定用户
为了弄清楚这些角色实际上是如何工作的,让我们首先看一下我创建的一个简单的 Realm 模型。如下图所示,每个 Realm 都有一个或多个 Clients。每个 Client 都可以有多个 Users 附加到它。
现在应该很容易得出角色映射的工作原理。
领域角色:它是一个全局角色,属于那个特定的领域。您可以从任何客户端访问它并映射到任何用户。 前角色: 'Global Admin, Admin'
客户角色:这是一个只属于特定客户的角色。您无法从不同的客户端访问该角色。您只能将其映射到该客户端的用户。 前角色: 'Employee, Customer'
复合角色:它是一个角色,具有与其相关联的一个或多个角色(领域或客户端角色)。
Keycloak 是一个很棒的工具,但它缺少适当的文档。
所以我们有 Realm.roles、Client.roles 和 User.roles
使用特定客户端访问应用程序时,这 3 个如何协同工作?
此致,
在 KeyCloak 中,我们有这 3 个角色:
- 领域 角色
- 客户 角色
- 复合 角色
KeyCloak 中没有用户角色。您很可能将其与用户角色映射混淆,后者基本上是将角色(领域、客户端或复合)映射到特定用户
为了弄清楚这些角色实际上是如何工作的,让我们首先看一下我创建的一个简单的 Realm 模型。如下图所示,每个 Realm 都有一个或多个 Clients。每个 Client 都可以有多个 Users 附加到它。
现在应该很容易得出角色映射的工作原理。
领域角色:它是一个全局角色,属于那个特定的领域。您可以从任何客户端访问它并映射到任何用户。 前角色: 'Global Admin, Admin'
客户角色:这是一个只属于特定客户的角色。您无法从不同的客户端访问该角色。您只能将其映射到该客户端的用户。 前角色: 'Employee, Customer'
复合角色:它是一个角色,具有与其相关联的一个或多个角色(领域或客户端角色)。