写在最前
如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。
源码地址:https://gitee.com/csps/mingyue
文档地址:https://gitee.com/csps/mingyue/wikis
核心依赖
需要注册配置中心的服务引入下面
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
核心注解
启动类增加
@EnableDiscoveryClient
注解,下面以mingyue-auth
为例:
@EnableDiscoveryClient
@SpringBootApplication
public class MingYueAuthApplication {
public static void main(String[] args) {
SpringApplication.run(MingYueAuthApplication.class, args);
}
}
统一 Nocos 服务信息
打开
mingyue
的 pom.xml 文件
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<nacos.server>mingyue-register:8848</nacos.server>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
注册认证中心
配置迁移
远 application.yml 原内容迁移到 nacos
mingyue-auth.yml
配置中
# 认证中心配置
spring:
# Redis配置 (SSO模式一和模式二使用Redis来同步会话)
redis:
# Redis数据库索引(默认为0)
database: 1
# Redis服务器地址
host: mingyue-redis
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password:
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池最大连接数
max-active: 200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
# 连接池中的最大空闲连接
max-idle: 10
# 连接池中的最小空闲连接
min-idle: 0
# Sa-Token 配置
sa-token:
# token名称 (同时也是cookie名称)
token-name: Authorization
# OAuth2.0 配置
oauth2:
is-code: true
is-implicit: true
is-password: true
is-client: true
修改 application.yml
# 端口
server:
port: 9000
spring:
application:
name: @artifactId@
profiles:
# 环境配置
active: @profiles.active@
cloud:
nacos:
# nacos 服务地址
server-addr: @nacos.server@
username: @nacos.username@
password: @nacos.password@
discovery:
# 注册组
group: @nacos.discovery.group@
namespace: ${spring.profiles.active}
config:
# 配置组
group: @nacos.config.group@
namespace: ${spring.profiles.active}
config:
import:
- optional:nacos:application-common.yml
- optional:nacos:${spring.application.name}.yml
启动项目
配置完成后,启动项目,测试一下登录与登出是否有问题。查看
nacos
服务是否注册成功http://mingyue-register:8848/nacos (自行配置一下 host 映射)
注册网关中心
先创建网关模块
添加 application.yml
# 端口
server:
port: 9200
spring:
application:
name: @artifactId@
profiles:
# 环境配置
active: @profiles.active@
cloud:
nacos:
# nacos 服务地址
server-addr: @nacos.server@
username: @nacos.username@
password: @nacos.password@
discovery:
# 注册组
group: @nacos.discovery.group@
namespace: ${spring.profiles.active}
config:
# 配置组
group: @nacos.config.group@
namespace: ${spring.profiles.active}
config:
import:
- optional:nacos:application-common.yml
- optional:nacos:${spring.application.name}.yml
启动项目
同认证中心一样操作
小结
目前已经有了 mingyue-register(注册中心)
、 mingyue-auth(认证中心)
、 mingyue-gateway(网关中心)
服务。接下来我们通过 mingyue-gateway(网关中心)
来访问 mingyue-auth(认证中心)
,并修改前端登录接口实现如下流程: