Здравствуйте.
Существует приложение, которое написано на spring rest, hibernate, postgres и прочее. Появилась задача - разграничение прав доступа через СУБД (именно через СУБД, а не программно)
Принцип примерно такой:
- Клиент отправляет данные от базы данных (не в таблице users, а созданные путем CREATE USER в СУБД)
- Создается новое подключение (connection info) с переданными данными, то есть sessionFactory, dataSource и т.д
Есть возможность перехватить все запросы до выполнения контроллеров, а также получить там переданные данные от пользователя, но вот как создать новое подключение (те же самые бины) с новыми данными, а потом их Autowired. Либо сделать: 1 user = 1 sessionFactory
Пробовал копать в сторону SCOPE, думал по поводу интеграции с spring security, а также насчет своей карты, но тогда возникает множество проблем, связанных с autowired, аннотациями, транзакциями и т.д.