浅谈SpringCloud下微服务权限方案-创新互联

背景

创新互联专注于青神企业网站建设,自适应网站建设,商城系统网站开发。青神网站建设公司,为青神等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

从传统的单体应用转型Spring Cloud的朋友都在问我,Spring Cloud下的微服务权限怎么管?怎么设计比较合理?从大层面讲叫服务权限,往小处拆分,分别为三块:用户认证用户权限服务校验

用户认证

传统的单体应用可能习惯了session的存在,而到了Spring cloud的微服务化后,session虽然可以采取分布式会话来解决,但终究不是上上策。开始有人推行Spring Cloud Security结合很好的OAuth3,后面为了优化OAuth 2中Access Token的存储问题,提高后端服务的可用性和扩展性,有了更好Token验证方式JWT(JSON Web Token)。这里要强调一点的是,OAuth3JWT这两个根本没有可比性,是两个完全不同的东西。
OAuth3是一种授权框架,而JWT是一种认证协议

OAuth3认证框架OAuth3中包含四个角色:

  1. 资源拥有者(Resource Owner)
  2. 资源服务器(Resource Server)
  3. 授权服务器(Authorization Server)
  4. 客户端(Client)

OAuth3包含4种授权模式

  1. 授权码(认证码)模式 (Authorization code)
  2. 简化(隐形)模式 (Impilict
  3. 用户名密码模式 (Resource Owner Password Credential)
  4. 客户端模式 (Client Credential)

其中,OAuth3的运行流程如下图,摘自RFC 6749:

+--------+                +---------------+
|    |--(A)- Authorization Request ->|  Resource  |
|    |                |   Owner   |
|    |<-(B)-- Authorization Grant ---|        |
|    |                +---------------+
|    |
|    |                +---------------+
|    |--(C)-- Authorization Grant -->| Authorization |
| Client |                |   Server  |
|    |<-(D)----- Access Token -------|        |
|    |                +---------------+
|    |
|    |                +---------------+
|    |--(E)----- Access Token ------>|  Resource  |
|    |                |   Server  |
|    |<-(F)--- Protected Resource ---|        |
+--------+                +---------------+

当前标题:浅谈SpringCloud下微服务权限方案-创新互联
网站地址:http://pwwzsj.com/article/jsiss.html