Skip to content

授权引擎

所有「是否放行」的判断都集中在 AuthorizationEngine,保证注解、拦截器、自定义调用走同一套决策逻辑与可审计结果。

AuthorizationDecision decide(IamPrincipal principal, AuthorizationRequest request);
default void require(IamPrincipal principal, AuthorizationRequest request) // 拒绝时抛 AuthorizationDeniedException
  • AuthorizationRequest(permissionCode, domain, clientType, resource, scopeAccess)
  • AuthorizationDecision(record):(allowed, decisionCode, steps)
  • AuthorizationDecisionStep(record):(code, passed, reason),记录每一步判定。
代码 含义
ALLOWED 允许
PERMISSION_DENIED 权限不足
SCOPE_DENIED 超出资源作用域
IDENTITY_DOMAIN_MISMATCH 身份域不匹配
CLIENT_TYPE_MISMATCH 客户端类型不匹配

https://github.com/wbh123/iam/blob/main/muer-authorization/src/main/java/io/github/muer/authorization/

相关:见 authorization-policyresource-scope