引言
Hello 大家好,这里是Anyin。
在我之前的文章中,不知道大家有没有发现我的代码都是放在Anyin Cloud这个项目的(欢迎大家点个星星)。这个项目我积累了一些我自己平时在工作当中小工具和最佳实践,随着时间的推进这个项目已经慢慢成为一个我个人搭建项目的脚手架,能够快速搭建起来一个完善的基于Spring Cloud技术栈的微服务基础架构。
之前在掘金上看到一个权限认证的框架Sa-Token
,简单的了解下,发现确实容易上手,而且功能丰富。今天就让我们来把它集成到 Anyin Cloud
项目吧。
需求梳理
在把Sa-Token
集成到我们的项目之前,我们需要先梳理下需求,不能为了集成而集成。
Anyin Cloud
项目需要一个认证鉴权的框架,经过选型,确定使用Sa-Token
。Anyin Cloud
项目是一个微服务项目,所以我们统一的认证需要放在认证服务Auth
,而统一的鉴权是放在网关Gateway
。Auth
和Gateway
都是高频访问的服务,需要足够轻量,所以我们设计这两个服务都不依赖数据库,并且不会过多依赖其他服务,Auth
服务和Gateway
服务的数据通信通过Redis
。Gateway
服务需要把当前登录用户的标识传递到下游。
Sa-Token集成
集成认证Auth服务
首先,我们先来处理Auth
服务。
添加pom.xml
依赖,因为我们需要通过Redis
来进行数据通讯,所以需要依赖对应的Redis
组件。
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>