LWM

一、OAuth2微服务权限校验Session

先导入依赖

 三个服务都导入

        <!--SpringSession Redis支持-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>
        <!--添加Redis的Starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--添加SpringSecurity框架作为权限校验-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

application.yml配置

  session:
#    存储类型修改为redis
    store-type: redis
  redis:
#    redis服务器的信息,该咋写咋写
    host: localhost

server:
  port: 8301
#  配置数据源信息
spring:
  application:
    name: borrowservice
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/cloudstudy?characterEncoding=utf-8
    username: root
    password: root
  cloud:
    nacos:
      discovery:
        # 配置Nacos注册中心地址
        server-addr: localhost:8848
        # ephemeral改为false,表示非临时实例
        ephemeral: false
        cluster-name: Chengdu
        # 权重大小,越大越优先调用,默认为1
        weight: 0.5
        namespace: f34784a5-ec4d-4659-a907-f464a4ff7aaf
    # 将loadbalancer的nacos支持开启,集成nacos负载均衡
    loadbalancer:
      nacos:
        enabled: true
    sentinel:
      transport:
        # 添加监控页面地址
        dashboard: localhost:8858
      # 关闭Context收敛,这样被监控方法可以进行不同链路的单独控制
      web-context-unify: false
      #  将刚刚编写的请求映射设定为限流页面
      block-page: /BorrowController/blocked
  session:
#    存储类型修改为redis
    store-type: redis
  redis:
#    redis服务器的信息,该咋写咋写
    host: localhost
#  开启feign对sentinel的支持
feign:
  sentinel:
    enabled: true
seata:
  #  注册
  registry:
    #    使用nacos
    type: nacos
    nacos:
      namespace: 6c3b0720-5a38-4e78-ac5a-56d70128ec1e
      username: nacos
      password: nacos
  #  配置
  config:
    type: nacos
    nacos:
      namespace: 6c3b0720-5a38-4e78-ac5a-56d70128ec1e
      username: nacos
      password: nacos

 启动borrowservice,打开redis

请求localhost:8301/login

用户名为user,密码是控制台打印出来的

 登录成功后,去redis中看存session信息没

 把其他的服务都启动后,访问borrowservice的借阅接口会报错,原因是在服务层写的业务中有访问bookservice的接口没访问成功,因为请求bookservice时没有携带对应session的cookie的

 

posted on 2023-05-07 11:42  Lwmm  阅读(18)  评论(0编辑  收藏  举报