Interface ActingContext
public interface ActingContext
當前請求的代理/模擬脈絡(見 ADR-013)。
讀取端唯一入口:從當前 JWT 的代行 claim(ActingClaims)在框架邏輯下算出
「有效身份 / 代理授權人集合 / 真實操作者」,供應用層寫啟用/稽核記錄、做 instance 級過濾。
身份一律為不可變的 stable subject(對齊 sub)。
兩個正交維度、無單一模式:模擬性(isImpersonating())與代理性
(isDelegating())由各自的 claim 是否存在獨立判定,可同時成立——框架不設
act_mode、不把兩者塌縮成一個模式列舉。是否同時具兩維由應用層簽發政策決定。
稽核 @LastModifiedBy 由 sub 語意自動正確(代理=登入者、模擬=被模擬者),
本脈絡是旁路資訊、不改既有 auditor 預設。
-
Method Summary
Modifier and TypeMethodDescriptionstatic ActingContextcurrent()從當前SecurityContextHolder讀取。default String目前 acting family 的應用政策識別;未綁定或一般 Session 為null。getActor()真實操作者(模擬者)的 stable subject;模擬時回actorclaim、其餘回getSubject()自身 (真實操作者恆為當前 principal)單一代理授權人便利存取:恰好一筆回該筆 stable subject、零筆回null;代理授權人 stable subject 全集(0..n);無代理時回空 listdefault String目前 Access Token 所屬 Session family;舊 token 或非互動式 token 可為null。有效身份 stable subject(代理=登入者、模擬=被模擬者,即 JWTsub);未認證時為nullboolean當前 token 是否具代理性(帶非空grantorsclaim);可與isImpersonating()同時成立boolean當前 token 是否具模擬性(帶actorclaim);有效身份即被模擬者static ActingContextof(org.springframework.security.oauth2.jwt.Jwt jwt) 從 resource-server 的Jwtprincipal 解析代行 claim(兩維獨立讀取)。static ActingContext從原始 claim map 解析(測試或非 resource-server 情境用);sub作為有效身份 stable subject。
-
Method Details
-
getSubject
String getSubject()有效身份 stable subject(代理=登入者、模擬=被模擬者,即 JWTsub);未認證時為null -
getGrantors
-
getGrantor
String getGrantor()單一代理授權人便利存取:恰好一筆回該筆 stable subject、零筆回null; 存在多筆卻以單數存取則丟IllegalStateException(不允許把多筆當一筆讀) -
getActor
String getActor()真實操作者(模擬者)的 stable subject;模擬時回actorclaim、其餘回getSubject()自身 (真實操作者恆為當前 principal) -
isImpersonating
boolean isImpersonating()當前 token 是否具模擬性(帶actorclaim);有效身份即被模擬者 -
isDelegating
boolean isDelegating()當前 token 是否具代理性(帶非空grantorsclaim);可與isImpersonating()同時成立 -
getSessionId
目前 Access Token 所屬 Session family;舊 token 或非互動式 token 可為null。 -
getActingPolicy
目前 acting family 的應用政策識別;未綁定或一般 Session 為null。 -
current
從當前
SecurityContextHolder讀取。principal 為 resource-server 的
Jwt(JwtAuthenticationToken)時解析代行 claim; 其他已認證型別回無代行脈絡(有效身份取authentication.getName());未認證回空脈絡。 -
of
從 resource-server 的Jwtprincipal 解析代行 claim(兩維獨立讀取)。 -
ofClaims
從原始 claim map 解析(測試或非 resource-server 情境用);sub作為有效身份 stable subject。
-