代码之家  ›  专栏  ›  技术社区  ›  x4k3p

在自己的应用程序中使用KeyClope的用户

  •  2
  • x4k3p  · 技术社区  · 7 年前

    我们有几个应用程序,其中我们使用自定义实现的安全和用户管理。现在,我们可能会切换到KeyClope,因为它是一个更好的解决方案。

    在每个应用程序中,我们在多个地方使用我们的用户模型,例如产品(f.e.creator_id=1)a.s.o。 这里也提出了类似的问题 Keycloak and spring boot rest api - user specific data stragegy

    我的问题是:

    我如何保留我们的用户模型,但使用keydeport进行身份验证和用户管理,而不将用户迁移到keydeport?以及如何同步用户注册过程(使用keydepeat)?一个有用的例子将非常有用。

    1 回复  |  直到 7 年前
        1
  •  6
  •   Boomer    5 年前

    我建议实施自定义 用户存储SPI ( https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi )这会在每个用户登录时动态地将用户数据从您的自定义数据库导入KeyClope的数据库。 在应用程序前面,您可以使用适当的keydropeat适配器和自定义过滤器/拦截器,将keydropeat特定的用户模型(请参见org.keydropeat.keydroprial)转换为您自己的用户模型。

    我为几个客户这样做,效果很好。使用这种方法,受保护应用程序的代码通常不需要更改。

    对于用户注册过程,只需在KeyClope登录页面上放置一个链接,将用户引导到当前的注册实现。为此,您需要在KeyClope中使用cutom登录主题。然而,无论如何,您可能需要该定制方案来定制keydrope登录页面,使其符合您自己的外观;感觉