目錄

> # JDBC 認證屬性

> JDBC (Java 資料庫連線) 認證屬性是組織屬性。 在服務配置下套用於這些屬性的值會成為 JDBC 認證範本的預設值。組織註冊服務後，需要建立服務範本。註冊後組織的管理員可以變更預設值。組織屬性不會由組織中的項目繼承。 JDBC 認證屬性包括：

> - 「連線類型」
> - 「連線區 JNDI 名稱」
> - 「JDBC 驅動程式」
> - 「JDBC URL」
> - 「連接至資料庫的使用者」
> - 「連接至資料庫的使用者」
> - 「連接至資料庫的密碼」
> - 「連接至資料庫的密碼 (確認)」
> - 「資料庫中的密碼欄」
> - 「準備的描述」
> - 「變換密碼語法的類別」
> - 「認證層級」

> ## 連線類型

> 此欄位使用 JNDI (Java 命名與目錄介面) 連線區或 JDBC 驅動程式，指定 SQL 資料庫的連線類型。 選項如下所示：

> - 透過 JNDI 擷取的連線區
> - 非永久性的 JDBC 連線

> JNDI 連線區利用基礎 Web 容器中的配置。

> ## 連線區 JNDI 名稱

> 如果選取 JNDI 連線類型，此欄位將指定連線區名稱。 由於 JDBC 認證是使用 Web 容器所提供的 JNDI 連線區，JNDI 連線區的設定可能與其他 Web 容器不一致。

> 下列範例顯示如何為 Web 伺服器以及 MySQL 4.0 設定連線區：

> 1. 在 Web 伺服器主控台中，建立包含下列屬性的 JDBC 連線區：

> poolName： samplePool

> DataSource Classname： com.mysql.jdbc.jdbc2.optional.MysqlDatacSource

> serverName： mySQL 伺服器的名稱

> port：執行 mySQL 伺服器的連接埠號

> user：資料庫使用者的名稱

> password： 使用者的密碼

> databaseName： 資料庫名稱。

> 備註 | 應用程式類別路徑中應該加入包含下列步驟所提資料源類別以及 JDBC 驅動程式類別的 Jar 檔案。

> 2. 配置 JDBC 資源。 在 Web 伺服器主控台中，建立包含下列屬性的 JDBC 資源：

> JNDI name： jdbc/samplePool

> Pool name： samplePool

> Data Resource Enabled： on

> 3. 在應用程式的 sun-web.xml 檔案中新增下列行：

> <resource-ref>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> <jndi-name>jdbc/samplePool</jndi-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。

目錄