微服务权限认证

本文章基于极客时间专栏及自己思路整理得到。

单体与微服务权限认证

单体应用:


image.png

微服务:


image.png

角色:


image.png

常见微服务安全方案

方案1:


image.png

方案2:


image.png

微服务安全方案设计

系统拓扑:


image.png

基于上述拓扑,设计时需要考虑的问题:

  1. 客户应用情况
    第三方系统/自己内部系统
    自己系统的内部api调用/跨系统的调用
    客户应用是前端/后端服务/前后端
  2. 用户信息保存位置
    允不允许客户应用保存用户信息
  3. 凭证认证位置
    资源服务器--jwt
    授权服务器--token
  4. token及用户信息保存方式
    内存/redis/mysql

单点登陆方案设计

单点登陆场景是特殊的微服务安全认证场景,比如门户系统登陆后,跳转下属其他系统。
实现思路:

  1. 一套认证体系
    可以基于CAS/OAUTH2等协议实现。
    特点
    • 用户数据只存门户系统
    • 认证体系统一
    • 登出、超时统一控制
    • 对门户依赖较高,要高性能高可用,因为所有系统所有请求都依赖


      image.png
  1. 多套独立认证体系
    附属系统能接收门户系统的凭证解析认证,通过后颁发自己凭证,后续交互只用自己凭证。
    • 门户系统以及附属系统都要有自己用户数据及认证体系
    • 登出、超时控制欠缺
    • 门户只用于协助跳转
    • 对门户依赖相对较少


      image.png

你可能感兴趣的:(微服务权限认证)