安全框架是一个提供身份验证(authentication)、授权(authorization)和防止常见攻击的框架。

ApiHug 提供了一个极简又凑效的解决方案,有别于传统 Apache Shiro, 或者 Spring Security。

底层依然是基于资源(Resource 也就是API)权限管理;如集合角色,就是一个极简RBAC架构,开箱即用。

协议

Proto 层如何定义协议 极简 Authentication & Authorization

实现

  1. SecurityAspect 切面 Aspect
  2. SecurityContext: 运行时候 security context, 包括资源 到 CheckerAuthorization 映射
  3. HopeSecurityManager 运行时 security 参数组装
  4. JWTFilter jwt filter 过滤

目前Aspect SecurityAspect 切面只支持 BEFORE 也就是进入资源(API)业务逻辑前校验。

配置

配置路径 hope.security; 配置对象 HopeSecurityProperties

配置备注
enabled是否启用 ApiHug Security.
jwtJWT 配置.
jwt.base64SecretBase64 secret.
jwt.secretsecret.
jwt.tokenValidityInSecondsForRememberMeRemember me 时候有效期,默认30天.
jwt.tokenValidityInSeconds默认有效时间,7天.

To be done 🏗️

Refer

  1. 极简 Authentication & Authorization
  2. Spring Security
  3. Apache Shiro
  4. RBAC - Role-based access control