求推荐类似AWS IAM的纯业务逻辑Java授权框架(非Spring Security类)
以下是几款适配你需求的授权方案,均支持主体-操作-资源的权限模型、表达式规则,且可脱离HTTP上下文专注纯业务逻辑校验:
OPA (Open Policy Agent) Java集成
虽然OPA核心由Go开发,但提供了完善的Java客户端库,可无缝嵌入Java应用。它支持用Rego语言编写灵活的权限规则,完全适配你示例中的Principal(*) CAN do (mail:*) on (/server/A/*)这类通配符与表达式匹配场景,权限校验可直接在业务代码中触发,无需绑定HTTP请求。Apache Shiro(自定义扩展)
原生Java开发的权限框架,默认支持RBAC,但通过自定义Realm和权限匹配器,可快速扩展为IAM风格的权限模型。你可以自定义权限表达式规则(包括通配符匹配),直接在业务逻辑中调用subject.isPermitted(action, resource)进行纯业务权限校验,完全独立于Web层。Spring Authorization Server
属于Spring生态但核心是独立授权服务,可脱离Spring Security的Web拦截逻辑单独使用。支持OAuth2.0/OIDC标准,同时可通过SpEL表达式扩展自定义主体-操作-资源权限规则,纯Java开发,适配各类Java后端应用的业务权限校验场景。Auth0 Authorization Java SDK
提供Java客户端支持RBAC与ABAC混合的授权模型,允许通过表达式定义权限条件(如主体属性、资源路径匹配),支持通配符规则。可直接在业务代码中执行授权校验,无需依赖Web上下文。
补充:你提到的Keycloak Authz,其Java客户端也支持直接在业务逻辑中发起授权查询,无需绑定HTTP请求,可进一步深挖其纯业务场景的用法。
内容的提问来源于stack exchange,提问作者sashok_bg

