我在spring security+spring session使用redis,序列化方式是GenericJackson2JsonRedisSerializer,但是spring security在认证成功之后会保存一个SecurityContextImpl到redis,这个类是有无参构造的,但是这个类下面有一个UsernamePasswordAuthenticationToken类没有无参构造,造成反序列化失败,认证就失败了,没有找到解决办法,总不能重新打包spring的jar包,也没办法自定义反序列化方式,改成jdk序列化太占空间,又不想改成fastjson,bug太多,不想一个项目中依赖两个json工具,前辈们有什么办法吗??
1条回答
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 看下这篇博客,也许你就懂了,链接:springboot+spring security+redis实现登录权限管理
- 除此之外, 这篇博客: 配置spring-security对redis中session的同步处理,通过sessionRegistry统计在线用户中的 3. 获取在线登录用户数量的方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
/** * 获取系统在线用户数量 * @return */ public Integer getOnlineUserNum(SessionRegistry sessionRegistry){ List<String> list = sessionRegistry.getAllPrincipals().stream() .filter(u -> !sessionRegistry.getAllSessions(u, false).isEmpty()) .map(Object::toString) .collect(Collectors.toList()); return list.size(); }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能