1.2. 创建缓存域


1.2.1. Elytron 中的缓存域

Elytron 提供 caching-realm 来从缓存安全域中查找的凭证的结果。caching-realm 使用 LRULeast Recently Used 缓存策略缓存 PasswordCredential 凭证,在达到最大条目数时,将丢弃最少访问的条目。

您可以使用带有以下安全域的 caching-realm

  • filesystem-realm
  • jdbc-realm
  • ldap-realm
  • 自定义安全域

如果您在 JBoss EAP 之外更改凭证源,如果底层的安全域支持侦听,则这些更改只会传播到 JBoss EAP 缓存域。只有 ldap-realm 支持侦听。但是,过滤的属性,如 roles ,在 ldap-realm 中不支持侦听。

要确保您的缓存域有正确的用户数据的缓存,请确保以下内容:

  • 在修改了凭证源处的用户属性后,请清除 caching-realm 缓存。
  • 通过缓存域而不是在凭证源处修改用户属性。
重要

通过缓存域进行用户更改仅作为技术预览提供。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站上的 技术预览功能支持范围

1.2.2. 在 Elytron 中创建一个 cache-realm

创建一个 cache-realm 以及一个引用域的安全域,来保护 JBoss EAP 服务器界面或服务器上部署的应用程序。

注意

配置为缓存域的 ldap-realm 不支持活动目录。如需更多信息,请参阅 通过 Elytron 的 JBossEAP CLI 修改 LDAP/AD 用户密码

先决条件

  • 您已将安全域配置为缓存。

流程

  1. 创建一个将安全域引用为缓存的 caching-realm

    语法

    /subsystem=elytron/caching-realm=<caching_realm_name>:add(realm=<realm_to_cache>)
    Copy to Clipboard Toggle word wrap

    Example

    /subsystem=elytron/caching-realm=exampleSecurityRealm:add(realm=exampleLDAPRealm)
    Copy to Clipboard Toggle word wrap

  2. 创建一个引用 caching-realm 的安全域。

    语法

    /subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<caching_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<caching_realm_name>,role-decoder="<role_decoder_name>"}])
    Copy to Clipboard Toggle word wrap

    Example

    /subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}])
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

验证

  • 要验证 Elytron 是否可以将 caching-realm 中引用的安全域中的数据加载到 caching-realm ,请使用以下命令:

    语法

    /subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
    Copy to Clipboard Toggle word wrap

    Example

    /subsystem=elytron/security-domain=exampleSecurityDomain:read-identity(name=user1)
    {
        "outcome" => "success",
        "result" => {
            "name" => "user1",
            "attributes" => {"Roles" => ["Admin"]},
            "roles" => ["Admin"]
        }
    }
    Copy to Clipboard Toggle word wrap

现在,您可以使用创建的安全域来向管理界面和应用程序添加身份验证和授权。如需更多信息,请参阅 保护管理界面和应用程序

1.2.3. 清除 caching-realm 缓存

清除 caching-realm 缓存会强制 Elytron 使用安全域的最新数据重新填充缓存, Elytron 被配置为缓存这些数据。

先决条件

  • caching-realm 已配置。

流程

  • 清除 caching-realm 缓存。

    语法

    /subsystem=elytron/caching-realm=<caching_realm_name>:clear-cache
    Copy to Clipboard Toggle word wrap

    示例

    /subsystem=elytron/caching-realm=exampleSecurityRealm:clear-cache
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat