#### JDBC

Java Database Connectivity (JDBC) 認證模組允許 OpenSSO 透過任何提供啟用 JDBC 之驅動程式的結構化查詢語言 (SQL) 資料庫來認證使用者。SQL 資料庫的連線可以直接透過 JDBC 驅動程式或透過 JNDI 連線池。這些 JDBC 屬性為範圍屬性。這些屬性包括：

- 連線類型

- 連接儲存區 JNDI 名稱

- JDBC 驅動程式

- JDBC URL

- 將這個使用者連接到資料庫

- 連接至資料庫使用的密碼

- 連接至資料庫使用的密碼確認

- 密碼欄字串

- 準備的描述

- 變換密碼語法的類別

- 認證級別

##### 連線類型

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

- 透過 JNDI 擷取的連線池

- 非永久性的 JDBC 連線

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

##### 連接儲存區 JNDI 名稱

如果選取 JNDI 連線類型，此欄位將指定連線池名稱。由於 JDBC 認證是使用 Web 容器所提供的 JNDI 連線池，JNDI 連線池的設定可能與其他 Web 容器不一致。如需範例，請參閱「OpenSSO 管理指南」。

##### 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。

備註 – 如果未指定任何認證層級，SSO 記號會將核心認證屬性中指定的值儲存為預設認證層級。