搜索

2.6. 使用多个身份服务配置身份验证和授权

download PDF

如果您在不同身份存储之间存储身份属性,则请使用 aggregate-realm 将身份属性加载到单个安全域中以进行身份验证和授权。

2.6.1. 在 Elytron 中聚合 Realm

通过 聚合域,您可以使用一个安全域进行身份验证,也可以使用另一个安全域聚合多个安全域,从而在 Elytron 中进行身份验证。例如,您可以将聚合域配置为使用属性域来进行身份验证,并使用 JDBC 域来进行身份验证。

在配置为聚合多个授权域的聚合域中,会创建一个身份,如下所示:

  • 加载为授权配置的每个安全域的属性值。
  • 如果在多个授权域中定义了属性,则使用属性第一次出现的值。

以下示例演示了如何在多个授权域包含相同身份属性的定义时创建身份。

示例

聚合 realm 配置:

authentication-realm=properties-realm,
authorization-realms=[jdbc-realm,ldap-realm]
  • 从 JDBC 域获取的属性值:

    e-mail: user@example.com
    groups: Supervisor, User
  • 从 ldap 域获取的属性值:

    e-mail: administrator@example.com
    phone: 0000 0000 0000

从聚合域获取的身份:

e-mail: user@example.com
groups: Supervisor, User
phone: 0000 0000 0000

在示例中,两个授权域中都定义了 e-mail 属性。JDBC 域中定义的值用于生成的聚合域中的 电子邮件 属性,因为聚合域配置为聚合授权域,即 authorization-realms=[jdbc-realm,ldap-realm]

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.