![]() | |
Sun Java System Access Manager 6 2005Q1 管理指南 |
第 22 章
JDBC 验证属性JDBC(Java 数据库连接)验证属性是组织属性。在“服务配置”下 JDBC 验证属性采用的值将成为 JDBC 验证模板的默认值。为组织注册服务之后,需要创建服务模板。组织的管理员可以在注册后更改默认值。组织属性不会被组织中的条目所继承。JDBC 验证属性包括:
连接类型
本字段指定连接至 SQL 数据库的连接类型,可以是 JNDI(Java 命名和目录接口)连接池或 JDBC 驱动程序。这些选项包括:
JNDI 连接池利用基本 Web 容器的配置。
连接池 JNDI 名称
如果在“连接类型”中选择 JNDI,此字段将指定连接池名称。因为 JDBC 验证使用 Web 容器提供的 JNDI 连接池,所以 JNDI 连接池的设置可能与其他 Web 容器之间有所不同。
以下示例显示为 Web 服务器和 MySQL 4.0 设置连接池的方法:
- 在 Web 服务器控制台中,创建一个具有以下属性的 JDBC 连接池:
连接池名称:samplePool
数据源类名:com.mysql.jdbc.jdbc2.optional.MysqlDatacSource
服务器名:mySQL 服务器的名称
端口:正在运行 mySQL 服务器的端口号
用户:数据库的用户名
密码:用户的密码
数据库名:数据库的名称
- 配置 JDBC 资源。在 Web Server 控制台中,创建一个具有以下属性的 JDBC 资源:
JNDI 名称:jdbc/samplePool
池名称:samplePool
启用数据资源:on
- 在 sun-web.xml 应用程序文件中添加以下行:
<resource-ref>
<res-ref-name>jdbc/mySQL</res-ref-name>
<res-ref-name>jdbc/mySQL</res-ref-name>
</resource-ref>
- 在 web.xml 应用程序文件中添加以下行:
完成这些设置后,该属性的值如下:
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。