Как моделировать отношения JPA, когда пользователи живут в Keycloak?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как моделировать отношения JPA, когда пользователи живут в Keycloak?

Сообщение Anonymous »

Я не смог найти для этого однозначного передового опыта, поэтому надеюсь, что обсуждение поможет и другим.
В традиционной настройке (без Keycloak) мы сохраняем сущность User уровня приложения с отношениями JPA (

Код: Выделить всё

@OneToMany
, @ManyToMany) с сущностями домена (например, Product, Order).

Поскольку Keycloak обрабатывает аутентификацию и хранит пользовательские данные, каков готовый или передовой способ моделирования пользователей и их отношений?
Вариант A – сохранить локальную таблицу User (синхронизированную с Keycloak) для поддержания отношений JPA, или

Option B — Нет таблицы локальных пользователей: сохраните только идентификатор пользователя Keycloak () в объектах домена и вообще избегайте объекта User.
Модели, которые я видел:

A. Локальная синхронизированная таблица пользователей
  • Синхронизация через SPI прослушивателя событий Keycloak при регистрации/обновлениях или
  • ленивая синхронизация при каждом запросе (например, с помощью фильтра/перехватчика, такого как UserSynchronizerFilter

    Код: Выделить всё

    UserSynchronizer
    ).
Б. Нет таблицы локальных пользователей.
  • Ссылайтесь на подпрограмму Keycloak непосредственно в объектах домена (например, Product.ownerSub).
Заранее большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-keycloak
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»