Динамическое изменение источника данных при входе пользователя

У меня есть проект, который имеет следующие требования:

  1. Разрешить пользователям входить в одно и то же веб-приложение, используя разные схемы в соответствии с критериями;
  2. Динамически направляйте источник данных по правилу - например, пользователи в компании A должны получить доступ к схеме A, пользователи в компании B должны получить доступ к схеме B;
  3. Бизнес-логика, которая аутентифицирует пользователя, должна быть в бизнес-компоненте - EJB, потому что могут быть добавлены новые приложения, и эта логика должна быть за пределами веб-приложения.

Я читал об использовании динамической маршрутизации источника данных. CustomerContextHolder имеет поле, которое ThreadLocal, Является ThreadLocal гарантия того, что пользователь A получит доступ к схеме A по моим критериям? Будет ли код потокобезопасным?

1 ответ

Насколько я понимаю, вам нужно многократное владение весной вместе с источником данных.

Возможно, вы взглянули на расширение пружины, которое может помочь

https://github.com/mariofts/spring-multitenancy

Другие вопросы по тегам