目录

> # JDBC 验证属性

> JDBC（Java 数据库连接）验证属性是组织属性。在“服务配置”下 JDBC 验证属性采用的值将成为 JDBC 验证模板的缺省值。为组织注册服务之后，需要创建服务模板。组织的管理员可以在注册后更改缺省值。组织属性不会被组织中的条目所继承。JDBC 验证属性包括：

> - “连接类型”
> - “连接池 JNDI 名称”
> - “JDBC 驱动程序”
> - “JDBC URL”
> - “连接至数据库的用户”
> - “连接至数据库的用户”
> - “连接至数据库的口令”
> - “连接至数据库的口令（确认）”
> - “数据库中的口令列”
> - “准备的语句”
> - “变换口令语法的类”
> - "验证级别”

> ## 连接类型

> 此字段指定连接至 SQL 数据库的连接类型，可以是 JNDI（Java 命名和目录接口）连接池或 JDBC 驱动程序。

> - 连接池已通过 JDNI 进行检索
> - 非持久 JDBC 连接

> JNDI 连接池利用基本 Web 容器的配置。

> ## 连接池 JNDI 名称

> 如果在“连接类型”中选择 JNDI，此字段将指定连接池名称。因为 JDBC 验证使用 Web 容器提供的 JNDI 连接池，所以 JNDI 连接池的设置可能与其他 Web 容器之间有所不同。

> 以下示例显示为 Web 服务器和 MySQL 4.0 设置连接池的方法：

> 1. 在 Web 服务器控制台中，创建一个具有以下属性的 JDBC 连接池：

> 连接池名称：samplePool

> 数据源类名：com.mysql.jdbc.jdbc2.optional.MysqlDatacSource

> 服务器名：mySQL 服务器的名称

> 端口：正在运行 mySQL 服务器的端口号

> 用户：数据库的用户名

> 口令：用户的口令

> 数据库名：数据库的名称

> 注 | 应该在应用程序类路径中添加以下步骤中所提及的包含数据源类和 JDBC 驱动程序类的 jar 文件。

> 2. 配置 JDBC 资源。在 Web Server 控制台中，创建一个具有以下属性的 JDBC 资源：

> JNDI 名称：jdbc/samplePool

> 池名称：samplePool

> 启用数据资源：on

> 3. 在 sun-web.xml 应用程序文件中添加以下行：

> <resource-ref>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> </resource-ref>

> 4. 在 web.xml 应用程序文件中添加以下行：

> <resource-ref>
> <description>mySQL Database</description>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>

> 完成这些设置后，该属性的值如下：

> java:comp/env/jdbc/mySQL

> ## JDBC 驱动程序

> 如果在“连接类型”中选择 JDBC，此字段将指定 SQL 数据库提供的 JDBC 驱动程序。例如：

> com.mysql.jdbc.Driver

> ## JDBC URL

> 如果在“连接类型”中选择 JDBC ，此字段将指定数据库 URL。例如，mySQL 的 URL 是：

> jdbc.mysql://hostname:port/databaseName

> ## 连接至数据库的用户

> 此字段指定用户名称，JDBC 连接以它建立数据库连接。

> ## 连接至数据库的口令

> 此字段为在“连接至数据库的用户”中指定的用户定义口令。

> ## 连接至数据库的口令（确认）

> 确认口令。

> ## 数据库中的口令列

> 该字段指定 SQL 数据库中的口令列名。

> ## 准备的语句

> 此字段指定用于检索用户登录口令的 SQL 语句，例如：

> select Password from Employees where USERNAME = ?

> ## 变换口令语法的类

> 此属性指定用于比较口令，将数据库检索到的口令变换为用户输入格式的类名。这个类必须实现 JDBCPasswordSyntaxTransform 接口。

> ## 验证级别

> 各种验证方法都单独设置了验证级别。验证级别值表示信任验证的程度。用户进行验证之后，该值将存储在会话的 SSO 令牌中。当 SSO 令牌传递到用户要访问的应用程序时，应用程序将根据存储的值来确定级别是否足以授予用户访问权限。如果 SSO 令牌中存储的验证级别没有达到所需的最小级别，应用程序将提示用户使用具有较高验证级别的服务再次进行验证。缺省值为 0。

目录