使用ServiceComb/CSE SDK如何在edge service拦截用户请求做认证鉴权

认证鉴权的时候,通常会获取http header,对会话进行认证。 CSE SDK一般有两种方式拦截:

 

* 通过Handler : 这种方式的好处是可以获取微服务元数据信息。对于需要做访问控制、获取调用的方法名称等,非常简单。 

  例子:

https://github.com/huaweicse/cse-java-chassis-samples/blob/master/HouseAppWithSpringBoot2/edge-service/src/main/java/com/huawei/cse/houseapp/edge/ApiDispatcher.java

  + AuthFilter.java

 

* 通过HttpServerFilter: 这种机制的好处是在Http层拦截请求,可以操作HTTP的header等。 

  例子:

https://github.com/apache/servicecomb-samples/blob/master/porter_lightweight/gateway-service/src/main/java/org/apache/servicecomb/samples/porter/gateway/ApiDispatcher.java

  + AuthHandler.java

Apache ServiceComb Java Chassis 是一个开箱即用Java语言微服务SDK,含服务契约、编程模型、运行模型与通信模型四个部分,具备负载均衡、容错熔断、限流降级、调用链追踪等全面微服务治理能力,服务治理能力与业务逻辑隔离。 它包含如下特性: 多种开发风格,REST(JAX-RS、Spring MVC)和RPC; 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway等; 统一一致的服务提供者、服务消费者处理链,以及基于契约的开箱即用的服务治理能力。 软件特点: 高性能 Java Chassis 网络层基于 Vert.x 实现, 支持开发者使用响应式编程, 开发者在使用熟悉的REST风格设计业务接口的时候,也能够获取到非常高性能的吞吐量。同时还提供了Highway协议,满足更高性能场景的要求。 原生支持OpenAPI Java Chassis 的接口开发、服务治理都基于 Swagger ,并通过接口语义检查,使得接口定义符合 OpenAPI 规范。 灵活的开发方式 开发者可以使用 SpringMVC/JAX-RS/transparent RPC 任意一种方式定义服务端接口, 并使用RPC/RestTemplate 等方式访问这些接口. 得益于Java Chassis的通信层与开发方式分离的设计,开发者可以在 Rest over Vertx/Rest over Servlet/Highway等通信模式下自由切换。 开箱即用的服务治理能力 Java Chassis 提供了大量开箱即用的服务治理能力,包括服务发现、熔断容错、负载均衡、流量控制等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值