一、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的
标签:OAuth2,服务,boot,redis,idea,nacos,session,spring,localhost From: https://www.cnblogs.com/liweimingbk/p/17378927.html