Spring Cloud Gateway 集成Sa-Token

引言

Hello 大家好,这里是Anyin。

在我之前的文章中,不知道大家有没有发现我的代码都是放在Anyin Cloud这个项目的(欢迎大家点个星星)。这个项目我积累了一些我自己平时在工作当中小工具和最佳实践,随着时间的推进这个项目已经慢慢成为一个我个人搭建项目的脚手架,能够快速搭建起来一个完善的基于Spring Cloud技术栈的微服务基础架构。

之前在掘金上看到一个权限认证的框架Sa-Token,简单的了解下,发现确实容易上手,而且功能丰富。今天就让我们来把它集成到 Anyin Cloud项目吧。

需求梳理

在把Sa-Token集成到我们的项目之前,我们需要先梳理下需求,不能为了集成而集成。

  1. Anyin Cloud项目需要一个认证鉴权的框架,经过选型,确定使用Sa-Token
  2. Anyin Cloud项目是一个微服务项目,所以我们统一的认证需要放在认证服务Auth,而统一的鉴权是放在网关Gateway
  3. AuthGateway都是高频访问的服务,需要足够轻量,所以我们设计这两个服务都不依赖数据库,并且不会过多依赖其他服务,Auth服务和Gateway服务的数据通信通过Redis
  4. Gateway服务需要把当前登录用户的标识传递到下游。

Sa-Token集成

集成认证Auth服务

首先,我们先来处理Auth服务。

添加pom.xml依赖,因为我们需要通过Redis来进行数据通讯,所以需要依赖对应的Redis组件。

        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.dev33</groupId>
    
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringCloud是基于Spring框架的分布式系统开发框架,它提供了丰富的分布式系统解决方案。而Sa-Token是一个轻量级的Java权限认证与授权框架,提供了简单易用的权限控制功能。 在SpringCloud中整合Sa-Token可以为我们的分布式系统提供更加安全可靠的权限认证与授权机制。具体步骤如下: 1. 在SpringCloud的微服务架构中,将Sa-Token配置为一个独立的授权认证中心,可以独立部署,也方便对其进行管理和维护。 2. 在每个微服务中引入Sa-Token的依赖,通过配置Sa-Token的相关属性,实现微服务的用户登录与认证。同时,可以使用Sa-Token提供的注解进行权限控制,例如@RequiresPermissions注解可以对接口或方法进行权限校验。 3. 在微服务之间进行访问时,可以通过Sa-TokenToken验证机制,对调用方进行身份认证。因此,每个微服务需要验证并解析Token,以确保请求方的合法性。 4. Sa-Token提供了灵活的权限授权机制,可以根据业务需求配置不同的角色和权限管理。在SpringCloud中,我们可以根据微服务的不同职能划分角色,为每个角色分配相应的权限。通过角色与权限的配置,实现对不同微服务接口的精确控制。 通过将Sa-Token整合到SpringCloud中,我们可以实现整个系统的统一权限管理。无论是对用户的认证与授权,还是对接口的权限控制,都可以通过Sa-Token轻松实现。这不仅提高了系统的安全性,同时也简化了系统的开发与维护工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值