第 4 章 管理子系统配置


可以通过编辑发行版中的 standalone.xmlstandalone-ha.xmldomain.xml 文件来实现 Red Hat Single Sign-On 的低级别配置。这个文件的位置取决于您的 操作模式

虽然您可以在此处配置无外的设置,但本节将重点介绍 keycloak-server 子系统的配置。无论您使用哪个配置文件,Keycloak -server 子系统的配置都相同。

keycloak-server 子系统通常会声明在文件末尾,如下所示:

<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2">
   <web-context>auth</web-context>
   ...
</subsystem>
Copy to Clipboard Toggle word wrap

请注意,这个子系统中的任何更改在服务器重启后不会生效。

4.1. 配置 SPI 供应商

使用该设置的上下文中讨论每个配置设置的具体细节。但是,了解用于声明 SPI 提供程序设置的格式很有用。

Red Hat Single Sign-On 是一个高度模块化的系统,实现了极大的灵活性。超过 50 个服务提供商接口(SPI),您可以交换出每个 SPI 的实现。SPI 的实施称为 提供程序

SPI 声明中的所有元素都是可选的,但完整的 SPI 声明如下所示:

<spi name="myspi">
    <default-provider>myprovider</default-provider>
    <properties>
        <property name="spi-foo" value="spi-bar"/>
    </properties>
    <provider name="myprovider" enabled="true">
        <properties>
            <property name="foo" value="bar"/>
        </properties>
    </provider>
    <provider name="mysecondprovider" enabled="true">
        <properties>
            <property name="foo" value="foo"/>
        </properties>
    </provider>
</spi>
Copy to Clipboard Toggle word wrap

在这里,我们为 SPI myspi 定义了两个提供程序。default-provider 列为 myprovider。但是,最多是 SPI 来确定它如何处理此设置。有些 SPI 允许多个提供程序,有些则不允许。因此,default-provider 可以帮助 SPI 选择。

SPI 属性 可以用来指定 SPI 特定的配置属性。例如,用户clientrole SPI 允许通过 storageProviderTimeout 属性以毫秒为单位配置存储供应商超时,如下所示:

<spi name="user">
    <properties>
        <property name="storageProviderTimeout" value="10000"/>
    </properties>
</spi>
Copy to Clipboard Toggle word wrap

另请注意,每个供应商都定义了自己的一组配置属性。上述两个提供程序的事实具有名为 foo 的属性,只是一个统一的显示。

每个属性值的类型由提供程序来解释。但是,有一个例外。考虑 eventsStore SPI 的 jpa 供应商:

<spi name="eventsStore">
    <provider name="jpa" enabled="true">
        <properties>
            <property name="exclude-events" value="[&quot;EVENT1&quot;,
                                                    &quot;EVENT2&quot;]"/>
        </properties>
    </provider>
</spi>
Copy to Clipboard Toggle word wrap

我们看到该值以方括号开头和结束。这意味着该值将作为列表传递到提供程序。在本例中,系统将传递提供程序一个列表,其两个元素值为 EVENT1EVENT2。要在列表中添加更多值,只需使用逗号分隔各个列表元素。不幸的是,您需要使用 " 转义引号括起 每个列表元素

有关自定义提供程序和配置的详情,请遵循 服务器开发人员指南

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat