使用API​​网关进行微服务身份验证和授权

时间:2018-08-30 19:04:40

标签: spring-boot microservices spring-cloud netflix-zuul api-gateway

我有三个微服务用户服务,订单服务和产品服务。 user-service具有用户相关的api,例如登录,注册等。Order-service已订购产品并从product-service获取产品信息。因此,微服务就像用户服务一样, 和订购服务---- >>二手货------ >>产品服务。现在我想在其中使用zuul api网关和config zuul过滤器。

public class PreFilter extends ZuulFilter {

  @Override
  public Object run() {
    RequestContext ctx = RequestContext.getCurrentContext();
    HttpServletRequest request = ctx.getRequest();
   // Here first i get token from header and then 
   // call to auth-server and then validate token if it is ok then go forword if  
   // token is not valid then thow exception unauthentication 
  }
} 

现在对用户的请求按   api网关--- >>用户服务

订单请求

api网关->>订单服务--- >>产品服务

现在订购请求的工作方式为     Api网关--- >>身份验证服务器(验证令牌)----如果令牌验证请求进入订购服务----- >>>>订购服务------- >>产品服务。     我的问题是,如果我在api网关中验证令牌并且可以直接访问订单服务,那么我该如何停止不是通过api网关发出并且不想在订单服务和产品服务中验证令牌的请求?    我想要一个这样的入口点,并且想要验证订单和产品api的令牌,如果有人想在没有有效令牌的情况下访问订单服务api,那么订单服务或产品服务不适用于他们。请帮助我了解如何设计项目结构。

0 个答案:

没有答案
相关问题