HZERO微服务平台02: 认证鉴权体系介绍

整体设计

  • 基于角色的权限控制(RBAC)
  • 菜单(menu)下有多个权限集(permission set,简写ps)
  • 权限集下关联接口(接口又称permission、api)
  • 给角色(role)分配菜单、权限集(角色不能直接分配接口)
  • 给角色分配用户(user)或客户端(client)

思考题: 张三登陆系统后, 调用某个接口时提示没有权限, 如何排查?

继承体系

  • 角色体系分【创建体系】和【继承体系】
  • 继承体系:
    • 子角色自动拥有父角色权限
    • 回收父角色权限自动回收子角色权限
  • 平台预定义【平台(超级)管理员】和【租户(超级)管理员】、【系统管理员模板】

网关鉴权

在网关控制权限
示意图:

详细调用链:

权限注解

  • 租户级的接口, 定义中必须包含
  • 接口通过@Permission注解控制权限, 通常情况下分配权限后才能访问接口.

认证体系

  • 平台的认证服务基于 Spring Security、Spring OAuth2、JWT 实现统一认证服务中心,支持 oauth2.0 的四种标准授权模式:授权码模式、简化模式、密码模式、客户端模式
  • OAuth 授权介绍
模式 应用场景 RFC文档
授权码模式 前后端一体的web端登陆 https://tools.ietf.org/html/rfc6749#section-4.1
简化模式 前后端分离的web端登陆 https://tools.ietf.org/html/rfc6749#section-4.2
密码模式 直接调用rest api登陆, 如移动端app https://tools.ietf.org/html/rfc6749#section-4.3
客户端模式 client登陆, 如后台服务 https://tools.ietf.org/html/rfc6749#section-4.4
posted @ 2021-11-16 10:51  QIAOXINGXING001  阅读(187)  评论(0编辑  收藏  举报