Можно ли выполнить аутентификацию ОС для подключения к базе данных Oracle из Java-приложения, созданного на JDK 1.4?
У меня есть Java-приложение, которое подключается к базе данных Oracle, но я хочу, чтобы приложение использовало аутентификацию ОС вместо предоставления учетных данных пользователя базы данных через программу. Я смог реализовать его в приложении JAVA, которое было построено с использованием JDK 1.6 с использованием пакета драйверов jdbc ojdbc5.jar вместо classes12.jar (который я использовал ранее). Я сделал это, потому что где-то читал, что classes12.jar не поддерживает аутентификацию ОС. Для этого приложения все работало нормально, но когда я попытался реализовать то же самое в приложении JAVA, построенном на JDK 1.4, я получал ошибки при компиляции кода с использованием ojdbc5.jar
Как я могу реализовать аутентификацию ОС в приложениях, построенных на JDK 1.4?
1 ответ
Вы не можете (и даже если бы вы могли, это не было бы хорошей идеей, поскольку любой пользователь мог выдать себя за другого пользователя, используя -Djava.user= кто-то еще в командной строке).
В выпуске 11g 2 (11.2) и JDBC OCI, и тонкие драйверы поддерживают все функции Oracle Advanced Security. Предыдущие выпуски драйверов JDBC не поддерживали некоторые функции ASO.
ojdbc5.jar для java 1.5, ojdbc6.jar для java 1.6, а более старый class12.jar, который будет работать с java 1.4, перестал поддерживаться в Oracle 10.
Вы можете попробовать новейший драйвер Oracle 10(попробуйте ojdbc14.jar), но даже если он работает, это не очень хорошая идея, потому что он просто небезопасен.