spring-cloud-gateway 搭建

新建maven模块

在pom.xml中引入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

依赖构建好后,创建启动类


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class,args);
    }
}

网关的作用是转发来自客户端的请求到各个服务端,需要有各个服务端的地址。可以用固定地址,也可以用注册中心。这里采用nacos作为注册中心,因此需要添加nacos注册发现的依赖

         <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

创建配置文件样例如下

server:
  port: 10010

spring:
  application:
    name: gateway
  profiles:
    active: dev
  cloud:
    nacos:
      server-addr: localhost:8848
    gateway:
      routes:
        - id: user-service  # 路由id唯一就行,可以自定义命名
          uri: lb://userservice  #路由目标地址  lb就是负载均衡
          predicates: #路由断言,也就是判断
            - Path=/user/**
        - id: order-service
          uri: lb://orderservice
          predicates:
            - Path=/order/**
            - Before=2031-01-20T17:42:47.789+07:00[Asia/Shanghai]
      default-filters:
        - AddRequestHeader=gateway,0001
      globalcors: # 全局的跨域处理
        add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
        corsConfigurations:
          '[/**]':
            allowedOrigins: # 允许哪些网站的跨域请求
              - "*"
              - "http://www.baidu.com"
            allowedMethods: # 允许的跨域ajax的请求方式
              - "GET"
              - "POST"
              - "DELETE"
              - "PUT"
              - "OPTIONS"
            allowedHeaders: "*" # 允许在请求中携带的头信息
            allowCredentials: true # 是否允许携带cookie
            maxAge: 360000 # 这次跨域检测的有效期

主要有三块配置:

(1)路由配置,即配置各个服务端的地址和路径通配符

 (2)过滤器配置

比如加请求头,比如只允许post请求等等

(3)跨域配置

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Spring Cloud搭建微服务登录,你可以按照以下步骤进行操作: 1. 创建认证服务:首先,你需要创建一个认证服务,用于处理用户的登录和身份验证。你可以使用Spring Security来实现用户认证和授权功能。在认证服务中,你可以定义用户账号、密码以及角色等信息。 2. 配置认证服务:在认证服务中,你需要配置Spring Security来定义登录接口、认证规则和权限控制等。可以使用基于用户名密码的登录方式,也可以使用其他方式,如OAuth2.0等。确保你的认证服务能够正确验证用户的身份,并返回相应的访问令牌。 3. 创建其他微服务:除了认证服务外,你还需要创建其他的微服务,用于提供不同的业务功能。这些微服务可以是独立的应用程序,通过Spring Cloud注册到服务注册中心,并与认证服务进行通信。 4. 集成认证服务:在其他微服务中,你需要集成认证服务,以便验证用户的访问权限。可以通过在请求头中携带访问令牌,并在微服务中进行校验来实现。使用Spring Security OAuth2或者JWT等技术来实现令牌的生成与验证。 5. 配置路由和网关:为了统一管理和保护微服务,你可以使用Spring Cloud Gateway或Zuul等网关技术来配置路由和访问控制规则。通过网关,你可以对外暴露统一的登录接口,并在用户登录成功后将请求转发到相应的微服务。 6. 前端集成:最后,你需要在前端应用中集成登录功能。前端应用可以使用Spring Boot、React、Angular或Vue等框架进行开发。通过调用登录接口获取访问令牌,并在后续的请求中携带令牌进行访问控制。 总结来说,使用Spring Cloud搭建微服务登录需要创建认证服务、配置认证规则和权限控制、集成认证服务到其他微服务、配置路由和网关以及前端集成等步骤。这样可以实现用户的登录和访问权限控制。希望以上信息对你有所帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值