springcloud-gateway与springsecurity的关系是什么,又是如何与springsecurity联系起来的
两者都可以进行身份验证和授权,所以为什么不使用其中一个呢? 为什么它们一起使用,它们各自的用途是什么
如果我在网关做了登录认证并没有整合springsecurity,那还有必要做springsecurity的登录认证么
SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。
springsecurity 是用来提供鉴权,提供接口给Gateway 。因为分布式开发时,微服务会有很多,但是网关是请求的第一入口,所以一般会把客户端请求的权限验证统一放在网关进行认证与鉴权。
springcloud-gateway功能是对进来的请求做各种判断,然后决定请求是放行还是拦截,是去订单服务还是去商品查询服务等等。
springsecurity是一个权限校验框架,不仅仅是登陆验证,还能做到某个用户只能访问某些接口的操作。
一般是在gateway里调用springsecurity的权限校验接口,对请求做认证,进而判断请求是否合法。把springsecurity认证放到Gateway里能更容易管理,因为认证的入口统一了。