一、身份鉴权验证
1、业务请求
1.1、父元素声明了 "/GroupA/VersionB/*",子元素声明了 "/GroupA/VersionB/Cxxx",access="ROLE_XXXX"
身份识别:
有效token
无token、无效token
权限鉴别:
有权限:
无权限:
1.2、父元素声明了 "/GroupA/VersionB/*",子元素没有声明的 "/GroupA/VersionB/Dxxx"
身份识别:
有效token
无token、无效token
权限鉴别:
有权限:
无权限:
1.3、token申请请求
身份识别:
权限鉴别:
1.4、登录/登出请求
身份识别:
权限鉴别:
2、ResourceServer的作用
2.1、请求的 ResourceServer.resourceId从哪里来?
2.2、ResoourceServer解决什么问题?
3、Scope的作用
3.1、请求的 Scope 从哪里来?
3.2、Scope 解决什么问题?
二、网关职责验证
1、pre拦截请求,解析参数
1.1、解析身份:
客户:client_id,client_secret,resourceIds,scopes
用户:username,password,user_privillege
1.2、解析请求:Group、Version和Api
1.3、记录访问开始日志
1.4、更新访问数据
2、pre策略检查
2.1、并发控制:检查未完成并发数
2.2、总数控制:检查累计总量
2.3、断路控制:是否在短路保护中
3、routing请求处理
3.1、路由获取:找到url,获取backend
3.2、组装参数:请求参数
3.3、发起调用:处理访问协议
3.4、处理返回:响应构造,标记调用状态?
4、post请求后处理
4.1、api 断路状态标记???(多台机器)
4.2、api 统计数据更新
4.2、记录访问结束日志
5、异常处理总结