- 新增网关服务模块 han-note-gateway,包含基础配置和启动类 - 实现全局过滤器 AddUserId2HeaderFilter,自动将用户ID添加到请求头(目前有问题) - 配置 Sa-Token 权限认证,支持 JWT 格式的 Token 解析和鉴权 - 新增全局异常处理器 GlobalExceptionHandler,统一处理未登录和权限不足异常 - 实现 StpInterfaceImpl 接口,从 Redis 获取用户角色和权限信息- 配置 RedisTemplate 支持 JSON 序列化,用于存储用户角色和权限数据 - 在 auth 服务中增加登出接口,支持用户退出登录(待完成) - 引入 Nacos 配置中心和注册中心依赖,支持配置动态刷新和服务发现 - 更新 Redis Key 构造方式,使用 userId 和 roleKey 替代 email 和 roleId - 新增告警模块,支持邮件和短信告警方式的配置与切换 -优化角色权限同步逻辑,使用角色 Key 替代角色 ID 存储权限信息 - 添加 bootstrap.yml 配置文件,支持从 Nacos 读取配置
43 lines
1.7 KiB
YAML
43 lines
1.7 KiB
YAML
server:
|
||
port: 8000 # 指定启动端口
|
||
spring:
|
||
cloud:
|
||
gateway:
|
||
routes:
|
||
- id: auth
|
||
uri: lb://han-note-auth
|
||
predicates:
|
||
- Path=/auth/**
|
||
filters:
|
||
- StripPrefix=1
|
||
data:
|
||
redis:
|
||
database: 5 # Redis 数据库索引(默认为 0)
|
||
host: 127.0.0.1 # Redis 服务器地址
|
||
port: 6379 # Redis 服务器连接端口
|
||
password: redis # Redis 服务器连接密码(默认为空)
|
||
timeout: 5s # 读超时时间
|
||
connect-timeout: 5s # 链接超时时间
|
||
lettuce:
|
||
pool:
|
||
max-active: 200 # 连接池最大连接数
|
||
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
||
min-idle: 0 # 连接池中的最小空闲连接
|
||
max-idle: 10 # 连接池中的最大空闲连接
|
||
sa-token:
|
||
# token 名称(同时也是 cookie 名称)
|
||
token-name: Authorization
|
||
# token前缀
|
||
token-prefix: Bearer
|
||
# token 有效期(单位:秒) 默认30天,-1 代表永久有效
|
||
timeout: 2592000
|
||
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
|
||
active-timeout: -1
|
||
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
|
||
is-concurrent: true
|
||
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)
|
||
is-share: true
|
||
# token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
|
||
token-style: random-128
|
||
# 是否输出操作日志
|
||
is-log: true |