【SpringCloud-Alibaba系列教程】13.gateway网关结合Sa-token进行登录鉴权

引出问题

在介绍【SpringCloud-Alibaba系列教程】10.gateway网关的时候文章末尾简单说了一下实现的鉴权功能,本文结合比较火的sa-token权限框架,进行整合,实现登录逻辑。看到本文,建议按照发文顺序阅读,方便理解我写的部分以及内容,本文实现的需求就是,首先进行统一在网关登录,然后调用shop-auth,然后在进行访问商品微服务shop-product,如果没登录,就查询不到进行相关提示,如果登录了就可以查询到了,现在我们开始。

我们开始吧

首先我们再次借用上次的图。
fbbbff3d12b8c3a21eb8f321a9e8078e_94a3ec0db1b74a548f679ad9e5232d4e.png
大家可以看到有一个授权中心的东西,其实就是授权实现。
我们下面来进行搭建。还是老样子我们创建一个Model
image.png
image.png
然后进行shop-auth编写了。
首先就是创建相关包以及application如图。
image.png
我们再认证中心根据sa-token官方文档进行整合就可以了
image.png
然后主要就是相关的yml配置

server:
  port: 8101
spring:
  application:
    name: service-auth
  # redis配置
  redis:
    # Redis数据库索引(默认为0)
    database: 1
    # Redis服务器地址
    host: 127.0.0.1
    # Redis服务器连接端口
    port: 6379
    # Redis服务器连接密码(默认为空)
    # password:
    # 连接超时时间
    timeout: 10s
    lettuce:
      pool:
        # 连接池最大连接数
        max-active: 200
        # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: -1ms
        # 连接池中的最大空闲连接
        max-idle: 10
        # 连接池中的最小空闲连接
        min-idle: 0
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver #版本看自己数据库版本安装
    url: jdbc:mysql://localhost:3306/shop?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&userSSL=true
    username: root
    password: 123456
  jpa:
    properties:
      hibernate:
        hbm2ddl:
          auto: update
        dialect: org.hibernate.dialect.MySQL8Dialect
    show-sql: true
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

下面就是网关了。

image.png
进行satoken的配置类
然后就是yml的配置了
image.png
这个框架的好处就是可以注解鉴权
我们只需要在productcontroller加上注解就可以达到鉴权的目的。
image.png
下面就是验证部分了,首先我们把所有服务启动。
image.png
首先我们就是和【SpringCloud-Alibaba系列教程】10.gateway网关这个登录鉴权一样进行查看。
http://localhost:7000/product-serv/product/1
image.png
我们可以看到框架的提示,然后我们进行auth认证。
http://localhost:7000/auth/user/doLogin?username=zhang&password=123456
image.png
然后我们再次访问http://localhost:7000/product-serv/product/1
image.png
这样就完成了,当然,我们可以在redis也可以看到相关信息。
image.png
这样就实现了我们的登录鉴权,相关文档可以参考sa-token的文档。
这样是比较方便的,和Spring Security相比还是比较简单的,后续会集成Spring Security的相关文章介绍。
这就是鉴权的基本实现了,如果更加细致的使用还是需要根据业务情况进行更改。
后期会在这个项目上不断添加,喜欢的请点个start~
项目源码参考一下分支220303_xgc_gatewayAndSatoken
Gitee:https://gitee.com/coderxgc/springcloud-alibaba
GitHub:https://github.com/coderxgc/springcloud-alibaba

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderxgc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值