1

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

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

4

1 回答 1

1

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

来自Oracle 文档

在 11g 第 2 版 (11.2) 中,JDBC OCI 和瘦驱动程序都支持所有 Oracle Advanced Security 特性。JDBC 驱动程序的早期版本不支持某些 ASO 功能。

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

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

于 2014-01-20T08:44:45.463 回答