java - 从基于 JDK 1.4 构建的 java 应用程序连接到 Oracle 数据库时可以进行操作系统身份验证吗?

标签 java oracle jdbc jdk1.4

我有一个连接到 Oracle 数据库的 java 应用程序,但我希望该应用程序使用操作系统身份验证,而不是通过程序提供数据库用户的凭据。我能够在使用 JDK 1.6 构建的 JAVA 应用程序中实现它,使用 jdbc 驱动程序包 ojdbc5.jar 而不是classes12.jar(我之前使用过)。我这样做是因为我在某处读到classes12.jar 不支持操作系统身份验证。 该应用程序一切正常,但是当我尝试在基于 JDK 1.4 构建的 JAVA 应用程序中实现相同的功能时,我在使用 ojdbc5.jar 编译代码时遇到错误

如何在 JDK 1.4 上构建的应用程序上实现操作系统身份验证?

最佳答案

你不能(即使你可以,这也不是一个好主意,因为任何用户都可以在命令行上使用 -Djava.user=someoneelse 来冒充另一个用户)。

来自Oracle Docs :

In 11g release 2 (11.2), both the JDBC OCI and thin drivers support all the Oracle Advanced Security features. Earlier releases of the JDBC drivers did not support some of the ASO features.

ojdbc5.jar 适用于 java 1.5,ojdbc6.jar 适用于 java 1.6,而较旧的classes12.jar(适用于 java 1.4)已不再受 Oracle 10 支持。

您可以尝试最新的Oracle 10 driver ,(尝试 ojdbc14.jar),但即使它有效,它也不是一个好主意,因为它不安全。

关于java - 从基于 JDK 1.4 构建的 java 应用程序连接到 Oracle 数据库时可以进行操作系统身份验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228618/

相关文章:

java - 什么时候拥有 Hibernate 二级缓存的 CPU yield 超过初始命中

Java - Oracle 数据库更改通知

database - 如何在实体-属性-值设计中处理不同的数据类型(例如,具有多列的单个表或每种数据类型的多个表)?

c# - Linq-Sql Oracle对象关系数据类型,有可能吗?

java - android中局域网内广播消息

java - 新版本的 Netbeans 刚刚问世。我能做些什么来避免再次手动搜索我的插件吗?

jdbc - Oracle12c、JDBC、身份和 getGeneratedKeys

java - NetSuite java.lang.NoClassDefFoundError : sun/io/MalformedInputException on getConnection

java - Android 电池电量检测问题

java - 为什么 JDBC 不支持批量获取数据?