当前位置: 首页 > news >正文

sa-token开发时遇到的问题

背景

我的项目的登录接口在登录时会去获取用户的菜单,但是我在获取菜单的方法里逻辑写错了(登录接口不是我负责的,我写的是菜单),
我使用UserUtils.getCurrentTenantId()去获取用户的信息(它会从session里获取用户信息),这是很明显的错误,因为我现在都没登录怎么获取登录后的信息呢?
但是我在本地运行时候,一点问题也没有,导致我也没有发现这个问题,但是当后端部署到服务器上测试环境后就报错了。

解决

虽然这个问题很简单,一下子就改了,但是我就是很好奇,为什么我本地一点问题也没有呢?哪怕是我重启了后台服务,它还是能获取到session,
我问了ai,它告诉我sa-token是默认存在内存的。。。我也信了,因为我看了我们项目的Sa-token配置,并没有去配置redis
image

我们项目的配置

# sa-token 配置
# token 名称 (同时也是 cookie 名称)
sa-token.token-name = Authorization
# token 有效期(单位:秒) 默认30天,-1 代表永久有效
sa-token.timeout = 2592000
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
sa-token.active-timeout = -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
sa-token.is-concurrent = true
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)
sa-token.is-share = false
# token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
sa-token.token-style = uuid
# 是否输出操作日志
sa-token.is-log = true
# 同一账号登录数量登录限制 默认值12,-1代表不做限制
sa-token.max-login-count = 48

但是我去看了sa-token官网,只需要引入依赖,不需要配置,它就会使用redis来持久化,我们项目也是这样做的

        <!-- sa-token--><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot3-starter</artifactId></dependency><!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-redis-jackson</artifactId></dependency>

引入依赖后,sa-token底层就会使用redis

image

http://www.jsqmd.com/news/6349/

相关文章:

  • HR如何摆脱入离职事务性内耗?组织管理系统助力聚焦人才价值挖掘
  • 里克尔梅张 重庆最好的古典前腰
  • 基于SpringAI构建大模型应用
  • C# TCP - 串口转发 - 实践
  • Java EE初阶启程记04---线程的状态 - 实践
  • US$44 YH Remote Key Tester Frequency/Infrared IR
  • 【星海出品】RabbitMQ 死信 - 教程
  • 【研发规范】Git 提交(commit)、CodeReview规范
  • Windows 11 局域网打印机共享设置
  • DailyPaper-2025-9-29
  • MySQL版本选择
  • gpd winmax2 fedora42 睡眠秒唤醒问题
  • 国企人力资源管理系统怎么选?内行人推荐这8款,功能、服务双保障
  • linux查询磁盘空间,查询指定目录的空间 df命令
  • milvus使用的etcd空间整理
  • k8s使用的etcd空间清理
  • MyBatis 与 JPA 的核心对比
  • 完整教程:Redis 提供了两种主要的持久化机制:RDB 和 AOF
  • 本土化战略赋能:Gitee如何领跑中国DevOps黄金赛道
  • 打印机错误0x0000709,问题排查和修复指南
  • 2025.9.29 测试
  • 深度学习(CVAE)
  • c# aot orm 框架测试 mysql
  • 深入解析:论文阅读:硕士学位论文 2025 面向大语言模型的黑盒对抗性攻击与防御关键技术研究
  • VC++ 使用OpenSSL创建RSA密钥PEM档案
  • CF1699D Almost Triple Deletions
  • QMT回测模式为什么要在副图进行
  • 详细介绍:支持17种方言10种外语!阿里最新AI语音合成模型Qwen3-TTS-Flash震撼发布
  • 判断权限通过遍历二叉树路由删除权限不展示的前端组件
  • DSA:DeepSeek Sparse Attention