3.8.3.3. STS 客户端池


警告

JBoss EAP 不支持 STS 客户端池功能。

STS 客户端池是一种允许您在服务器上配置 STS 客户端池的功能,从而消除了 STS 客户端创建可能出现的瓶颈。客户端池可用于需要 STS 客户端来获取 SAML 票据的登录模块。包括:

  • org.picketlink.identity.federation.core.wstrust.auth.STSIssuingLoginModule
  • org.picketlink.identity.federation.core.wstrust.auth.STSValidatingLoginModule
  • org.picketlink.trust.jbossws.jaas.JBWSTokenIssuingLoginModule

每个登录模块的池中的默认客户端数量都使用 initialNumberOfClients 登录模块选项进行配置。

org.picketlink.identity.federation.bindings.stspool.STSClientPoolFactory 类为应用提供客户端池功能。

使用 STSClientPoolFactory

STS 客户端通过其 STSClientConfig 配置作为键插入到子池。要将 STS 客户端插入到子池中,您需要获取 STSClientPool 实例,然后根据配置初始化子池。(可选)您可以在初始化池时指定 STS 客户端的初始数量,或者您可以依赖默认编号。

示例:将 STS 客户端插入 Subpool

final STSClientPool pool = STSClientPoolFactory.getPoolInstance();
pool.createPool(20, stsClientConfig);
final STSClient client = pool.getClient(stsClientConfig);

使用完客户端后,您可以通过调用 returnClient() 方法将它返回到池。

示例:将 STS 客户端返回到 Subpool

pool.returnClient();

示例:检查是否使用给定配置检查子池是否存在

if (! pool.configExists(stsClientConfig) {
    pool.createPool(stsClientConfig);
}

如果启用了 picketlink-federation 子系统,则为部署创建的所有客户端池都会在取消部署过程中自动销毁。手动销毁池:

示例:手动销毁子池

pool.destroyPool(stsClientConfig);

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.