Вопрос

Короче говоря, как я могу ограничить доступ к пулу соединений X на основе имени приложения или имени JAR?Простой вариант использования может помочь...

Бизнес-веб-приложение (назовем его WEB_APP_A) использует пул Y для выполнения базового SQL-поиска.Некоторые пользователи этого веб-приложения имеют доступ к обновлению некоторых конфиденциальных данных в базе данных.Этот код предоставляется в виде JAR-файла (назовем его HR_JAR), который можно вставить туда, где это необходимо.Этот JAR использует пул X для всех своих соединений.

Мы не хотим, чтобы разработчики WEB_APP_A использовали пул X.Нам нужен только HR_JAR, использующий пул X.Это сделано для того, чтобы разработчики WEB_APP_A случайно или намеренно не злоупотребляли пулом доступа X, который предоставляет X.

Некоторые соображения:

  1. Это устаревший код, поэтому HR_JAR останется здесь.
  2. Мы работаем на Weblogic 9.2.
  3. Мы не можем хранить пароли ни в каком исходном коде.
  4. Мы исследовали аутентификацию/аутентификацию уровня пользователя веб-логики для ресурсов JDBC, но тогда возникает вопрос;как нам защитить учетные данные пользователя, которые мы используем, чтобы стать пользователем для каждого приложения/банки?

Идеи?Мысли?Я могу подробнее рассказать о том, что пробовал, но мне нужны были свежие идеи.

Это было полезно?

Решение 2

Насколько я могу судить, нет хорошего способа сделать это.С AspectJ есть несколько хитростей, но в конечном итоге это приносит больше хлопот, чем пользы.

Другие советы

Я никогда не пробовал этого и сейчас у вас нет доступа к экземпляру для игры, но в вашей конфигурации JDBC вы можете попробовать добавить <scope> элемент для приложения в пуле X, внутри <jdbc-data-source-params> Я думаю...Хотя это предполагает, что у вас есть отдельное приложение, определенное для HR.jar, но я не уверен, что это так, судя по вашему описанию.Однако я не знаю, можете ли вы ограничить отдельный JAR-файл внутри приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top