Sun Java System Application Server 9.1 管理指南

範圍

範圍 (也稱為安全策略網域安全網域),是伺服器定義和強制執行一般安全策略的範圍。在實際應用中,範圍是伺服器儲存使用者和群組資訊的儲存庫。

Application Server 預先配置了三個範圍:file (初始預設範圍)、certificateadmin-realm。您還可以設定 ldap JDBCsolaris 範圍或自訂範圍。應用程式可以在其部署描述元中指定要使用的範圍。如果應用程式不指定範圍,Application Server 將使用其預設範圍。

file 範圍中,伺服器將使用者憑證儲存在本地名為 keyfile 的檔案中。您可以使用管理主控台來管理 file 範圍中的使用者。

certificate 範圍中,伺服器將使用者憑證儲存在憑證資料庫中。使用 certificate 範圍時,伺服器結合使用憑證和 HTTPS 通訊協定認證 Web 用戶端。如需有關憑證的更多資訊,請參閱證書和 SSL 簡介

admin-realm 也是一個 FileRealm,它將管理員使用者憑證儲存在本地名為 admin-keyfile 的檔案中。您可以使用管理主控台管理此範圍中的使用者,其方法與您管理 file 範圍中的使用者的方法相同。

ldap 範圍中,伺服器將從簡易資料存取協定 (LDAP) 伺服器 (例如 Sun Java System Directory Server) 中取得使用者憑證。LDAP 是一種可以讓任何人在網路 (無論是公共網際網路還是企業內部網路) 中尋找組織、個人和其他資源 (例如檔案和裝置) 的協定。如需有關管理 ldap 範圍中的使用者和群組的資訊,請參閱您的 LDAP 伺服器文件。

JDBC 範圍中,伺服器會從資料庫取得使用者憑證。Application Server 會使用資料庫資訊,以及配置檔的已啟用 JDBC 範圍選項。

solaris 範圍中,伺服器將從 Solaris 作業系統中取得使用者憑證。Solaris 9 OS 和更高版本支援此範圍。如需有關管理 solaris 範圍中的使用者和群組的資訊,請參閱您的 Solaris 文件。

自訂範圍是使用者憑證的任何其他儲存庫,例如關聯式資料庫或協力廠商元件。如需更多資訊,請參閱管理主控台線上說明。

Procedure配置 Java EE 應用程式的 JDBC 範圍

Application Server 可讓您在 JDBC 範圍中指定使用者的憑證,而不是在連線池中指定。使用 JDBC 範圍取代連線池,可防止其他應用程式瀏覽使用者憑證的資料庫表格。使用者的憑證是使用者的名稱和密碼。


備註 –

依預設,不支援在 JDBC 範圍中儲存純文字的密碼。一般情況下不應該儲存純文字密碼。


  1. 建立資料庫表格,在其中儲存範圍的使用者憑證。

    建立資料庫表格的方法,需視所使用的資料庫而定。

  2. 將使用者憑證增加到在 步驟 1 中建立的資料庫表格。

    將使用者的憑證增加到資料庫表格的方法,需視所使用的資料庫而定。

  3. 建立 JDBC 範圍。

    使用管理主控台 GUI 來達成此目的。如需有關建立 JDBC 範圍的說明,請參閱管理主控台 GUI 的線上說明。

  4. 將在步驟 3 中建立的範圍指定為應用程式的範圍。

    若要指定範圍,請針對應用程式修改適當的部署描述元:

    • 對於企業歸檔 (EAR) 檔案中的企業應用程式,請修改 sun-application.xml 檔案。

    • 對於 Web 應用程式歸檔 (WAR) 檔案中的 Web 應用程式,請修改 web.xml 檔案。

    • 對於 EJB JAR 檔案中的企業 Bean,請修改 sun-ejb-jar.xml 檔案。

    如需有關如何指定範圍的更多資訊,請參閱「Sun Java System Application Server 9.1 Developer’s Guide」中的「How to Set a Realm for an Application or Module」

  5. 將安全性角色指定給範圍中的使用者。

    若要將安全性角色指定給使用者,請將 security-role-mapping 元素增加到在 步驟 4 中所修改的部署描述元。

    下列範例顯示了 security-role-mapping 元素,此元素會將安全性角色 Employee 指定給使用者 Calvin

    <security-role-mapping>
        <role-name>Employee</role-name>
        <principal-name>Calvin</principal-name>
      </security-role-mapping>