我有三个微服务用户服务,订单服务和产品服务。 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,那么订单服务或产品服务不适用于他们。请帮助我了解如何设计项目结构。