当前位置:   article > 正文

gateway网关进行路由转发、权限校验、限流控制使用实例_gateway 怎样校验{id}的url权限

gateway 怎样校验{id}的url权限
  1. 新建gateway微服务module,并导入依赖

    <dependency>
    	<groupId>org.springframework.cloud</groupId>
    	<artifactId>spring-cloud-starter-gateway</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4

    其余依赖参考链接

  2. 在主启动类中配置@EnableDiscoveryClient注解开启服务注册与发现,这样网关微服务能够发现其他服务

    package com.kenai.gulimall.gateway;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    
    @EnableDiscoveryClient
    //commom依赖包中有mybatis依赖包,需要配置数据源,但是gateway服务不需要数据库相关服务,所以去除掉
    @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
    public class GulimallGatewayApplication {
    	public static void main(String[] args) {
    		SpringApplication.run(GulimallGatewayApplication.class, args);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  3. application.properties配置nacos注册中心地址和该应用服务名称

    spring.cloud.nacos.discovery.server-addr=localhost:8848
    spring.application.name=gulimall-gateway
    # 网关服务端口为90
    server.port=90
    
    • 1
    • 2
    • 3
    • 4

    也可以在bootstrap.properties中配置nacos配置中心地址和该应用服务名称,从而可以在配置中心中修改配置文件.

    spring.cloud.nacos.config.server-addr=localhost:8848
    spring.application.name=gulimall-gateway
    # nacos配置中心的命名空间
    spring.cloud.nacos.config.namespace=0f8c698c-1c8c-4aff-865a-dcf2ee83607b
    
    • 1
    • 2
    • 3
    • 4
  4. 网关配置(请求url、断言等)

    spring:
      cloud:
        gateway:
          routes:
            - id: test_route
              # 要访问的地址,即路由目的地
              uri: https://www.baidu.com
              # 断言,即满足的条件
              predicates:
                # 需要满足请求包含参数url,并且对应的值为baidu
                - Query=url, baidu
            - id: qq_route
              uri: https://www.qq.com
              # 断言,即满足的条件
              predicates:
                # 需要满足请求包含参数url,并且对应的值为baidu
                - Query=url, qq
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  5. 访问测试
    在这里插入图片描述
    在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/830867
推荐阅读
相关标签
  

闽ICP备14008679号