java - 来自同一帐户的多个远程登录会导致所有访问令牌刷新 Spring Security
问题描述
我对 Spring Boot 比较陌生,理解 Spring Security 的整个结构有点困难。我正在通过 oauth2 登录端点根据请求创建令牌并将它们存储在内存中。但是,如果多个人在不同的设备上使用相同的帐户登录,所有令牌都会被销毁并突然重新创建。这会导致我所有登录的用户都获得强制会话超时。
我已经在互联网上搜索了很长时间。只需要一个或多或少解释的解决方案,就像我说的那样,我在理解 Spring Security 时遇到了一些困难。
解决方案
事实证明,使用内存令牌产生了这个问题。不知道这背后的原因是什么。将自定义令牌存储配置为使用 JDBC 令牌。使用 JDBC 令牌会创建两个单独的表来保护访问令牌和刷新令牌。因此,即使多个用户同时登录,会话仍然受到保护。
检查以下链接了解详细信息(实现):https ://javadeveloperzone.com/spring-boot/spring-boot-oauth2-jdbc-token-store-example/
推荐阅读
- swift - swift SpriteNode 和 SceneKit 多点触控手势
- pandas - 关键错误,使用 *.agg 方法解析错误
- django - 如何将 PhoneNumberField 数据保存到数据库?
- libgit2 - 如何在 libgit2 中设置结帐策略?
- react-native - Metro Bundler 中的错误:'AsyncStorage 已从 react-native 核心中提取,将被删除......'
- reactjs - 如何在路由内使用带有参数的反应路由器,例如“sitename.com/parameter/dashboard”
- python - Django形式的limit_choices_to和queryset之间的区别
- c# - IBarcodeWriter.Write 消失了
- java - 为什么我不能在函数内保存来自 Scanner 的用户输入?
- vuetify.js - Vuetify 使用单独选择自动完成并切换“全选”