Application Server 對以下實體強制執行其認證與授權策略:
使用者︰Application Server 中定義的個人身份。通常,使用者是指個人、一個軟體元件 (例如企業 Bean),甚至是一種服務。經過認證的使用者有時被稱為主體。使用者有時被稱為個人。
群組︰Application Server 中定義的一組使用者,依循一般特性進行分類。
角色︰由應用程式定義的命名授權層級。可以將角色比作開鎖的鑰匙。許多人都可以有此鑰匙的複製鑰匙。鎖不關心誰要造訪,而只關心使用的鑰匙是否正確。
範圍:包含使用者和群組資訊及其相關安全性憑證的儲存庫。範圍也稱為安全策略網域。
儘管使用者和群組是為整個 Application Server 指定的,但是每個應用程式都需要定義自己的角色。封裝和部署應用程式時,應用程式會指定使用者/群組和角色之間的對映,如下圖所示。
使用者是已在 Application Server 中定義的個人 (或應用程式) 身份。使用者可以與群組關聯。Application Server 認證服務可以管理多個範圍中的使用者。
J2EE 群組 (或簡稱群組) 是依循一般特性 (例如職務或用戶設定檔) 進行分類的使用者類別。例如,假定電子商務應用程式的使用者屬於 customer 群組,但是大用戶可以屬於 preferred 群組。將使用者進行群組分類可以簡化有大量使用者時的存取控制。
角色定義使用者可以存取哪些應用程式以及每個應用程式的哪些部分,以及使用者可以執行的作業。亦即,角色決定了使用者的授權層級。
例如,假定在人事應用程式中,所有員工均可以存取電話號碼和電子郵件位址但只有管理者才能存取薪水資訊。該應用程式至少可以定義兩個角色:employee 和 manager;僅允許 manager 角色中的使用者檢視薪水資訊。
角色與使用者群組的不同之處在於,角色在應用程式中定義功能,而使用者群組是以某一方式相關的一組使用者。例如,假定在人事應用程式中有 full-time、part-time 和 on-leave 幾個群組,但所有這些群組中的使用者仍是 employee 角色。
角色是在應用程式部署描述元中定義的。相反,群組是針對整個伺服器和範圍而定義的。應用程式開發者或部署者在每個應用程式的部署描述元中將角色對映至一個或多個群組。
範圍 (也稱為安全策略網域或安全網域),是伺服器定義和強制執行一般安全策略的範圍。在實際應用中,範圍是伺服器儲存使用者和群組資訊的儲存庫。
Application Server 預先配置了三個範圍:file (初始預設範圍)、certificate 和 admin-realm。您還可以設定 ldap、solaris 範圍或自訂範圍。應用程式可以在其部署描述元中指定要使用的範圍。如果應用程式不指定範圍,Application Server 將使用其預設範圍。
在 file 範圍中,伺服器將使用者憑證儲存在本地名為 keyfile 的檔案中。您可以使用 管理主控台 來管理 file 範圍中的使用者。如需更多資訊,請參閱管理 file 範圍使用者。
在 certificate 範圍中,伺服器將使用者憑證儲存在憑證資料庫中。使用 certificate 範圍時,伺服器結合使用憑證和 HTTPS 通訊協定認證 Web 用戶端。如需有關憑證的更多資訊,請參閱證書和 SSL 簡介。
admin-realm 也是一個 FileRealm,它將管理員使用者憑證儲存在本地名為 admin-keyfile 的檔案中。您可以使用 管理主控台 管理此範圍中的使用者,其方法與您管理 file 範圍中的使用者的方法相同。如需更多資訊,請參閱管理 file 範圍使用者。
在 ldap 範圍中,伺服器將從簡易資料存取協定 (LDAP) 伺服器 (例如 Sun Java System Directory Server) 中取得使用者憑證。LDAP 是一種可以讓任何人在網路 (無論是公共網際網路還是企業內部網路) 中尋找組織、個人和其他資源 (例如檔案和裝置) 的協定。如需有關管理 ldap 範圍中的使用者和群組的資訊,請參閱您的 LDAP 伺服器文件。
在 solaris 範圍中,伺服器將從 Solaris 作業系統中取得使用者憑證。Solaris 9 OS 和更高版本支援此範圍。如需有關管理 solaris 範圍中的使用者和群組的資訊,請參閱您的 Solaris 文件。
自訂範圍是使用者憑證的任何其他儲存庫,例如關聯式資料庫或協力廠商元件。如需更多資訊,請參閱建立自訂範圍。