範圍 (也稱為安全策略網域或安全網域),是伺服器定義和強制執行一般安全策略的範圍。在實際應用中,範圍是伺服器儲存使用者和群組資訊的儲存庫。
Application Server 預先配置了三個範圍:file (初始預設範圍)、certificate 和 admin-realm。您還可以設定 ldap、 JDBC、solaris 範圍或自訂範圍。應用程式可以在其部署描述元中指定要使用的範圍。如果應用程式不指定範圍,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 文件。
自訂範圍是使用者憑證的任何其他儲存庫,例如關聯式資料庫或協力廠商元件。如需更多資訊,請參閱管理主控台線上說明。
Application Server 可讓您在 JDBC 範圍中指定使用者的憑證,而不是在連線池中指定。使用 JDBC 範圍取代連線池,可防止其他應用程式瀏覽使用者憑證的資料庫表格。使用者的憑證是使用者的名稱和密碼。
依預設,不支援在 JDBC 範圍中儲存純文字的密碼。一般情況下不應該儲存純文字密碼。
建立資料庫表格,在其中儲存範圍的使用者憑證。
建立資料庫表格的方法,需視所使用的資料庫而定。
將使用者憑證增加到在 步驟 1 中建立的資料庫表格。
將使用者的憑證增加到資料庫表格的方法,需視所使用的資料庫而定。
建立 JDBC 範圍。
使用管理主控台 GUI 來達成此目的。如需有關建立 JDBC 範圍的說明,請參閱管理主控台 GUI 的線上說明。
將在步驟 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」。
將安全性角色指定給範圍中的使用者。
若要將安全性角色指定給使用者,請將 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>