基於 Java EE 的安全模型提供用於識別和認證使用者的安全性範圍。
該認證程序會透過 Java 範圍對使用者進行驗證。每個範圍都是由一組使用者、選擇性的群組對映以及用於驗證認證請求的認證邏輯組成。認證請求通過配置範圍的驗證,並建立安全性環境之後,便會將該身份識別套用於所有後續授權決定。
Java 範圍類似於 auth-db (認證資料庫),不同的是 auth-db 由 ACL 引擎 (根據 ACL 檔案中的規則) 來使用,而 Java 範圍由 Java Servlet 存取控制規則 (在每一個 Web 應用程式的 web.xml 檔案中指定) 來使用。
一個伺服器實例可以具有任意數量的配置範圍。配置資訊位於 server.xml 檔案的 auth-realm 元素中。
下表定義了 Web Server 7.0 中支援的各種範圍類型。
表 11–8 範圍類型
範圍 |
說明 |
---|---|
File |
File 範圍是首次安裝 Sun Java System Web Server 時的預設範圍。該範圍的設定非常簡便,為開發人員提供了巨大的方便。 File 範圍會根據文字檔中儲存的使用者資料來認證使用者。Java 範圍類似於 auth-db (認證資料庫),不同的是 auth-db 由 ACL 引擎 (根據 ACL 檔案中的規則) 來使用,而 Java 範圍由 Java Servlet 存取控制規則 (在每一個 Web 應用程式的 web.xml 中指定) 來使用。 |
LDAP |
LDAP 範圍可讓您使用 LDAP 資料庫,以獲得使用者安全性資訊。每項 LDAP 目錄服務都是具有唯一識別碼的屬性集合。LDAP 範圍非常適合部署生產系統。 為了針對 LDAP 範圍認證使用者,您必須在 LDAP 目錄中建立所需的使用者。您可以從管理伺服器的 [使用者與群組] 標籤執行此作業。您也可以從 LDAP 目錄產品的使用者管理主控台執行此動作。 |
PAM |
PAM (亦稱為 Solaris) 範圍會將認證委託給 Solaris PAM 堆疊。如果使用 PAM auth-db,僅 Solaris 9 和 10 支援此範圍,並且伺服器實例必須以超級使用者身份執行。 |
Certificate |
Certificate 範圍支援 SSL 認證。Certificate 範圍會在 Sun Java System Web Server 的安全性環境中設定使用者身份識別,並在其中寫入用戶端憑證中的使用者資料。然後,Java EE 容器將根據每個使用者憑證中的使用者 DN 執行認證處理。該範圍會透過 X.509 憑證,以 SSL 或 TLS 用戶端認證機制來認證使用者。 |
Native |
Native 範圍是一個特殊範圍,能為核心 ACL 型認證模型與 Java EE/Servlet 認證模型之間搭起一個橋樑。透過使用適用於 Java Web 應用程式的 Native 範圍,可以使 ACL 子系統執行認證 (而非使 Java Web 容器執行該作業),也可以使該身分可用於 Java Web 應用程式。 呼叫認證作業後,Native 範圍會將此認證委託給核心認證子系統。例如從使用者角度來看,此項作業實質上等同於 LDAP 範圍將認證委託給配置的 LDAP 伺服器。當本端範圍處理群組成員關係查詢時,也會將這些查詢授權給核心認證子系統。從 Java Web 模組和開發人員角度來看,Native 範圍與其他任何可與 Web 模組配合使用的 Java 範圍沒有絲毫差異。 |
自訂 |
您可以為其他資料庫建立範圍,如 Oracle,以便透過使用可插接式 JAAS 登入模組並執行範圍來滿足特殊需求。 |
以下小節說明了有關增加新認證範圍的步驟。
選取配置。
選取您需要為其增加新的認證範圍的配置。按一下 [配置] 標籤,然後選取配置。
按一下 [Java] > [安全性] 標籤。
按一下 [新增認證] 按鈕。
提供範圍詳細資訊。
名稱 — 輸入範圍的簡稱。此名稱用於參考範圍,例如 web.xml 中的範圍。
類別 — 若要 配置自訂範圍,請輸入實作自訂範圍的完整 Java 類別名稱。不必為每個內建範圍輸入類別。
類型 — 選取範圍的類型。請參閱上一節中討論的 Java 範圍類型。
特性 — 增加範圍特定的特性。例如 property name="file" value="instance_dir/config/keyfile" 與 property name="jaas-context" value="fileRealm。
使用 CLI
若要透過 CLI 增加認證範圍,請執行以下指令。
wadm> create-auth-realm --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 basic |
請參閱 CLI 參考資料 create-auth-realm(1)。
指定內建認證範圍類型的名稱。類型可以為 file、ldap、pam、native 或 certificate。