最初发布时间:2005 年 7 月 20 日
最后更新时间:2006 年 1 月 16 日
作者:Frances Zhao
Oracle 数据库支持代理验证,从而允许客户端用户通过应用服务器连接到数据库(作为代理用户)。客户端用户通过应用服务器验证自身,而应用服务器作为代理用户通过 Oracle 数据库验证自身。客户端用户的名称在以此方式打开的任何代理连接的数据库中始终有效。
OC4J 10g (10.1.3) 在 Oracle JDBC 原生数据源中支持这一点。该演示展示了针对 Oracle JDBC 原生数据源配置和使用代理验证的一些关键步骤,并用 JSP 代码测试了与已配置 Oracle 数据库的代理连接。
本演示要求安装并正确配置以下软件组件:
首先,我们需要定义一个使用 Oracle JDBC 数据源实现的原生数据源。与以前的 OC4J 版本一样,OC4J 10.1.3 数据源仍然在应用程序的 data-sources.xml 文件中定义。所有应用程序的默认数据源配置文件仍然位于 %ORACLE_HOME%/j2ee/home/config/data-sources.xml 中。
要定义数据源,您可以直接编辑数据源配置文件,也可以使用企业管理器创建、删除和修改数据源。此方法文档仅使用第一种方法。
下面是原生数据源定义,位于 %HOWTO_HOME%/etc 下应用程序嵌入的 data-sources.xml 中。
<native-data-source
name="OracleNativeDSForProxyDemo"
jndi-name="jdbc/OracleNativeDSForProxyDemo"
description="Native DataSource For Proxy Demo"
data-source-class="oracle.jdbc.pool.OracleDataSource"
user="scott"
password="tiger"
url="jdbc:oracle:thin:@//dbhost:1521/dbservicename">
</native-data-source>
注意,data-source-class 是 javax.sql.DataSource 的 Oracle JDBC 实现。user 和 password 属性定义了默认用户和口令,但本演示中没有使用这些属性。
下一步是配置 Oracle 数据库,以设置用户、数据库角色和代理映射。您需要使用 Oracle DBA 帐户在 SQLPlus 中运行所提供的 SQL 脚本 %HOWTO_HOME%/etc/setup.sql。
脚本中有以下几组操作:
单击关联的测试按钮将调用一个 JSP,以测试从配置好的原生数据源获得的代理连接。将出现一个新页面显示测试日志,或者发生异常。新页面上应该有一个返回链接,可以将您转回到起始页。
以下是 JSP 代码中与代理验证相关的几个重要操作:
注意,本演示的主要目的是演示配置和使用代理验证时所涉及的某些关键步骤和 API,如数据库用户设置、连接方式和角色授予、openProxySession() 等。本文并未包含 Oracle 数据库和 Oracle JDBC 支持的所有可能的代理验证配置案例。有关该主题的更多详细说明,请参阅 Oracle 数据库安全指南 10g 和 Oracle JDBC 开发人员指南与参考 10g。
以下说明适用于在 Oracle Containers for J2EE 10g (10.1.3) 的独立实例上运行本演示。
请检查以确保 ant-oracle.properties 文件(位于该示例分发的根目录下)中的以下属性配置正确(注意:其中某些属性将是下述环境变量的默认值。如果您在环境中设置这些变量,可能不必改变文件中的值)。如果必要,则针对您的环境将这些变量修改为适当的值:
该演示要求 Oracle 数据库和监听程序处于运行状态。记下所使用的主机名、端口号和服务名称 — 您需要使用这些信息修改 %HOWTO_HOME%/etc/data-sources.xml。
独立安装: %ORACLE_HOME%/bin/oc4j start
注意,该 oc4j 命令期望 JAVA_HOME 环境变量指向一个完整的 JDK 安装。
受 OracleAS 管理的安装: %ORACLE_HOME%/opmn/bin/opmnctl startall
在顶层 %HOWTO_HOME% 目录中,键入命令:
%HOWTO_HOME%/dist 目录中现在应包含新创建的 ds_proxy_demo.ear。
如果构建成功,此命令还将尝试部署此应用程序。它将首先测试 OC4J 是否正在运行。
还可以使用以下命令分别部署应用程序。确保定义了 %ORACLE_HOME% 环境变量。在顶层 %HOWTO_HOME% 目录中,键入命令:
在浏览器窗口中,浏览到:
如果网站的主机名或端口号不同,则用实际值替换。
单击关联的测试按钮将调用一个 JSP,以测试从配置好的原生数据源获得的代理连接。将出现一个新页面显示测试日志,或者发生异常。新页面上应该有一个返回链接,可以将您转回到起始页。
学习完本文档后,您应可以:
热门下载 | ||