Interface PrincipalDirectory
public interface PrincipalDirectory
主體目錄 SPI(ADR-024 決策三)
feature 查找「其他主體」的唯一管道;實作由消費端以自己的帳號持久化提供(參考實作以
AccountRepository 實作、回不可變快照)。scope 過濾(同租戶/跨租戶)不進契約——
由 feature 以 PrincipalView.tenantId() 自行過濾,範圍政策歸 feature/應用。
-
Method Summary
Modifier and TypeMethodDescriptionList<? extends PrincipalView> 全部可互動登入的主體(候選池原料;排除服務帳號等非互動主體)。 參考實作為全量載入——目錄極大的部署由實作自行優化(分頁/查詢下推)List<? extends PrincipalView> findByEmail(String email) 依 email 查找——重複容忍(ADR-018 決策三):email 非身分、唯一性歸應用宣告, 回全部命中;呼叫端多命中時應確定性拒絕,不選第一筆Optional<? extends PrincipalView> 依穩定識別(PrincipalView.id())查找——供以不可變 id 為 subject 的機制 (如簽章連結,ADR-007:連結 subject 放帳號 id、不耦合投遞地址)於兌換時精準載入Optional<? extends PrincipalView> findByUsername(String username) 依登入身分識別子查找
-
Method Details
-
findByUsername
依登入身分識別子查找 -
findById
依穩定識別(PrincipalView.id())查找——供以不可變 id 為 subject 的機制 (如簽章連結,ADR-007:連結 subject 放帳號 id、不耦合投遞地址)於兌換時精準載入 -
findByEmail
依 email 查找——重複容忍(ADR-018 決策三):email 非身分、唯一性歸應用宣告, 回全部命中;呼叫端多命中時應確定性拒絕,不選第一筆 -
findAllInteractive
List<? extends PrincipalView> findAllInteractive()全部可互動登入的主體(候選池原料;排除服務帳號等非互動主體)。 參考實作為全量載入——目錄極大的部署由實作自行優化(分頁/查詢下推)
-