我在spring security+spring session使用redis,序列化方式是GenericJackson2JsonRedisSerializer,但是spring security在认证成功之后会保存一个SecurityContextImpl到redis,这个类是有无参构造的,但是这个类下面有一个UsernamePasswordAuthenticationToken类没有无参构造,造成反序列化失败,认证就失败了,没有找到解决办法,总不能重新打包spring的jar包,也没办法自定义反序列化方式,改成jdk序列化太占空间,又不想改成fastjson,bug太多,不想一个项目中依赖两个json工具,前辈们有什么办法吗??
不知道你这个问题是否已经解决, 如果还没有解决的话: /**
* 获取系统在线用户数量
* @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();
}