本文章基于极客时间专栏及自己思路整理得到。
单体与微服务权限认证
单体应用:
image.png
微服务:
image.png
角色:
image.png
常见微服务安全方案
方案1:
image.png
方案2:
image.png
微服务安全方案设计
系统拓扑:
image.png
基于上述拓扑,设计时需要考虑的问题:
- 客户应用情况
第三方系统/自己内部系统
自己系统的内部api调用/跨系统的调用
客户应用是前端/后端服务/前后端 - 用户信息保存位置
允不允许客户应用保存用户信息 - 凭证认证位置
资源服务器--jwt
授权服务器--token - token及用户信息保存方式
内存/redis/mysql
单点登陆方案设计
单点登陆场景是特殊的微服务安全认证场景,比如门户系统登陆后,跳转下属其他系统。
实现思路:
- 一套认证体系
可以基于CAS/OAUTH2等协议实现。
特点- 用户数据只存门户系统
- 认证体系统一
- 登出、超时统一控制
-
对门户依赖较高,要高性能高可用,因为所有系统所有请求都依赖
image.png
- 多套独立认证体系
附属系统能接收门户系统的凭证解析认证,通过后颁发自己凭证,后续交互只用自己凭证。- 门户系统以及附属系统都要有自己用户数据及认证体系
- 登出、超时控制欠缺
- 门户只用于协助跳转
-
对门户依赖相对较少
image.png
网友评论