Вопрос:

JPA - выполнить запрос к конкретному пользователю базы данных

java hibernate jpa

69 просмотра

1 ответ

1130 Репутация автора

Я разрабатываю приложение JAX-RS (Resteasy), используя Hibernate в качестве JPA. Внутренняя база данных - Oracle. В настоящее время я определил источник данных Oracle в WildFly, и запросы JPA выполняются для пользователя Oracle, настроенного в источнике данных.

Теперь я должен реализовать безопасность вокруг веб-API. Для этого я собираюсь использовать токены JWT. App_UsersТаблица в моей базе данных Oracle содержит пользователь (обратите внимание , что эти пользователи фактически определены в качестве пользователей базы данных Oracle).

Здесь есть два требования:

  1. Когда пользователь отправляет свои учетные данные для входа в систему, прежде чем генерировать JWT для пользователя, я должен проверить их для базы данных Oracle.

  2. Когда пользователь отправляет запрос post / put, для целей аудита я хочу выполнить запрос вставки / обновления для пользователя, который отправляет данные, а не для того, кто настроен в источнике данных WildFly.

Можно ли выполнить два вышеуказанных требования с помощью Hibernate JPA?

Автор: A J Qarshi Источник Размещён: 10.04.2017 03:03

Ответы (1)


1 плюс

6856 Репутация автора

Если вы хотите использовать DataSourceпредоставленный Wildfly, я не думаю, что вы сможете динамически менять пользователя Oracle за транзакцию. Это часть конфигурации сервера приложений для предоставляемого JNDI DataSource.

Я бы порекомендовал создать пользователя Oracle с минимальным набором привилегий для использования вашим приложением во время выполнения. Затем я бы реализовал аудит в самом приложении, а не на уровне базы данных.

Автор: Alex Barnes Размещён: 10.04.2017 03:14
Вопросы из категории :
32x32