7.13. 从较早的用户联合 SPI 迁移
注意
本章仅在您已使用先前(及现已删除)用户 Federation SPI 实施的供应商时才适用。
在 Keycloak 版本 2.4.0 及更高版本中有一个用户 Federation SPI。虽然不被支持,但 Red Hat Single Sign-On 版本 7.0 也具有之前的 SPI 可用。这个较早的用户 Federation SPI 已从 Keycloak 版本 2.5.0 和 Red Hat Single Sign-On 版本 7.1 中删除。但是,如果您已经编写了这个早期的 SPI 的供应商,本章将讨论一些可以使用的策略来移植它。
7.13.1. 导入和非导入 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
较早的用户 Federation SPI 需要您在 Red Hat Single Sign-On 的数据库中创建用户的本地副本,并将信息从外部存储导入到本地副本。然而,这不再是一个要求。您仍然可以将之前的供应商的端口,但应考虑一个非导入策略是否为更好的方法。
导入策略的优点:
- 红帽单点登录基本上成为外部存储的持久性用户缓存。导入用户后,您将不再点击外部存储,从而减少负载。
- 如果您要作为您的官方用户商店使用 Red Hat Single Sign-On 并弃用较早的外部存储,您可以慢慢地迁移应用程序以使用 Red Hat Single Sign-On。迁移完所有应用程序后,取消链接导入的用户,并停用之前的传统外部存储。
使用导入策略有一些明显的缺点:
- 第一次查找用户时,需要多个更新红帽单点登录数据库。这可能会给负载带来巨大性能损失,并给红帽单点登录数据库带来大量负担。用户联合存储方法仅根据需要存储额外的数据,且可能永远不会根据外部存储的功能使用。
- 通过导入方法,您必须保持本地红帽单点登录存储和外部存储同步。User Storage SPI 有功能接口来支持同步,但这可能会很快变得困难和我。