Пул подключений + олицетворение запросов

Я работаю над проектом Spring(IoC/ MVC/ Security)/ JTOpen, поддерживаемым DB2 через IBM System i (AS/400). По причинам, которые я не смогу обсудить здесь, каждому пользователю приложения была предоставлена ​​учетная запись в операционной системе IBM i (i5/OS), чтобы его транзакции регистрировались в соответствии с его идентификацией в Журнале (файлы журнала DB2). Чтобы добиться этого, мы устанавливаем соединение, как только кто-то входит в систему, используя свои учетные данные и, соответственно, получает свои транзакции против его имени в Журнале.

Проблема. Недавно мы изучали вопрос о создании пула соединений вместо состояния кво соединения на сеанс. Если пул устанавливает эти соединения после того, как приложение начинает использовать общую учетную запись i5 / OS, скажем: SystemAccount, то пользователь регистрирует в запросах одно из этих соединений, есть ли способ выполнить транзакции под именем пользователя, хотя это и было установлено с использованием общей системной учетной записи?

2 ответа

Решение

В пакете com.ibm.as400.security.auth предусмотрены классы, которые позволяют менять профили пользователей с помощью токена профиля IBM i и классов учетных данных при использовании класса соединения AS400.

Если вы используете JDBC, вы можете вызвать API-интерфейсы, связанные с безопасностью, для принятия профилей для соединения.

  • Функция Get Profile Handle (QSYGETPH) проверяет идентификатор пользователя и пароль и создает зашифрованное сокращение, называемое дескриптором профиля для этого профиля пользователя.
  • Задать дескриптор профиля (QWTSETP) переключает задание на запуск под новым профилем.
  • Создать маркер профиля (QSYGENPT) проверяет, имеет ли вызывающая сторона полномочия для создания токена профиля для запрошенного профиля, а затем генерирует маркер профиля.
  • Set To Profile Token (QSYSETPT) проверяет токен профиля и изменяет текущий поток для запуска под профилями пользователей и групп, представленными токеном профиля.

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

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