Interface AuthorityContributor
public interface AuthorityContributor
Authority 名稱的貢獻點
權限名稱由擁有該資源的 feature 或業務領域宣告,而非集中在認證能力的一份清單裡。 消費端收集所有實作後決定怎麼用——參考實作把它們冪等地補進 DB 再連結角色;其他消費端 可改餵外部 IAM、或只做啟動期校驗。本契約只宣告「有哪些名字」,不決定消費方式。
存在的理由是方向:認證是必要能力,不得依賴任何選用 feature 或業務碼。未安裝的 feature 不貢獻權限,其權限自然不存在——參考實作的角色連結階段對找不到的權限發 warn 並跳過,正是「feature 沒裝」的語意。
命名慣例 domain:capability(如 mail:ops、notification_outbox:resend);authority
字串本身就是介面——feature 宣告「做這件事需要什麼能力」,誰拿得到它由各專案決定
(參考實作經 Role.json)。非敏感資訊與低風險操作應優先使用 authenticated + audit,
不應貢獻 Authority;只有敏感資訊、敏感/高影響操作或明確職責隔離才建立 capability。
Capability 應依風險與責任收斂,不依 Entity × CRUD 機械展開;method capability 也不取代
消費端 service/policy 的 object/data scope。
-
Method Summary
Modifier and TypeMethodDescription本 feature/業務領域擁有的權限名稱(domain:capability形式)。
-
Method Details
-
authorityNames
-