標籤:jaas 介面
郭嘉
郵箱:[email protected]
部落格:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell
在J2SE中,JARS架構的核心類和介面分布在以下包中:
- javax.security.aufh.:包含用於認證和授權機制的基類和介面。
- javax.security.auth.callback: *:包含用於定義應用的認證憑證的類和介面。
- javax.security.auth.login.,:包含用於登入和退出應用域的類。
- javax.security.auth.spi. *:包含JARS提供者用於實現JARS模組的介面。
這些類和介面可以進一步分為3類:通用、認證和授權。下面介紹這3類中一些重要的類和介面。
一 通用類1.1 javax.security.auth.Subject
Subject(主體類,javax.security.auth.Subject):代表一組相關實體,如具有一組安全憑證的個人、組織或服務。一旦通過認證,可以用相關的身份或Principals填充Subject,並根據Subject做出授權決策。
1.2 Java.security.Security
Principal (Java.security.Security):代表已通過認證的實體(如個人、組織和服務等)的介面。
二 認證類2.1 javax.security.auth.login.LoginContext
LognContext(登入上下文類,javax.security.auth.login.LoginContext):提供了認證Subjects的基本方法。一旦調用者執行個體化LoginGontext,那麼Login Context將調用登入方法來認證Subject。另外,它還負責載入Configuration和執行個體化合適的LoginNtodulesa。
2.2 javax.security.auth.login.LoginModule
LoganModule(登入模組類,javax.security.auth.login.LoginModule):該介面主要是為JAAS提供者提供的,允許JARS提供者將認證機制實現為登入模組並將其插人。將登入模組插人應用環境旨在提供特定類型的認證。在認證過程中,使用一個Subject、一個CallbackHandler、共用的LoginModule狀態和登入模組特定的選項來初始化每個LoginModule。登入模組使用 CallbackHandler與使用者通訊。J2SE 1.4提供很多登入模組,它們位於com.sun.security.auth.module包中。
2.3 javax.security.auth.login.Configuration
Configuration(配置類,javax.security.auth.login.Configuration):代表用於特定登入應用的登入模組配置。
2.4 javax.security.auth.login.CallbackHandler
CallbackHandler(回調處理器類,javax.security.auth.login.CallbackHandler):定義了一個介面,允許同使用者身份互動以擷取與認證相關的資料,如使用者名稱AN碼、生物識別特徵樣本和基於智慧卡的憑證等。應用實現CallbackHandle:並將其傳遞給LoingContext, LoingContext則直接將其轉寄給底層LoginModuleo。
三 授權類3.1 Java.security.Policy
Policy(策略類,Java.security.Policy):代表系統級存取控制策略,用於根據已通過認證的主體進行授權。
3.2 javax.security.auth.AuthPermission
AuthPernussion(授權類,javax.security.auth.AuthPermission):封裝了JAAS授權所需的基本許可權,並控制對對象Policy, Subject; LoginContext和Configuration的訪問。
3.3 javax.security.auth.PrivateCreclentialsPermission
PrivateCredenti址螃婦rission(私人憑證權限類別,javax.security.auth.PrivateCreclentialsPermission):封裝了用於訪問Subject的私人憑證的許可權。
【Java安全技術探索之路系列:Java可擴充安全架構】之十五:JAAS(二):JAAS類和介面