千家信息网

如何解决SpringSecurityOAuth2 redis反序列失败问题

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关如何解决SpringSecurityOAuth2 redis反序列失败问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。当在认证服
千家信息网最后更新 2025年12月02日如何解决SpringSecurityOAuth2 redis反序列失败问题

这期内容当中小编将会给大家带来有关如何解决SpringSecurityOAuth2 redis反序列失败问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

当在认证服务同时进行token获取以及token资源认证可以使用的时候。然后把资源服务整合到其他资源,在这同时又自定义是实现了UserDetails并重写了该接口方法,自定义实现了UserDetailsService,并重写了接口方法,返回使用的是自定义实现的UserDetails。在资源服务器认证token的时候就会出现redis序列化失败的问题, 示例:

/** * @Description 自定义实现UserDetails * @Author wwz * @Date 2019/07/28 * @Param * @Return */@Datapublic class MyUserDetails implements UserDetails {    private AuthUser user;    private Collection authorities;    public MyUserDetails(AuthUser user, Collection authorities) {        this.user = user;        this.authorities = authorities;    }    public MyUserDetails() {    }    @Override    public Collection getAuthorities() {        return authorities;    }        其他省略......
/** * @Description 自定义用户验证数据 * @Author wwz * @Date 2019/07/28 * @Param * @Return */@Servicepublic class MyUserDetailsService implements UserDetailsService {    @Autowired    private AuthUserMapper authUserMapper;    @Override    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {        // 自定义用户权限数据        AuthUser authUser = authUserMapper.selectByUsername(username);        if (authUser == null) {            throw new UsernameNotFoundException("用户名不存在");        }        if (!authUser.getValid()) {            throw new UsernameNotFoundException("用户不可用");        }        Set grantedAuthorities = new HashSet<>(); // 中间逻辑省略。。。。。。        MyUserDetails userDetails = new MyUserDetails(authUser, grantedAuthorities);        return userDetails;    }}
org.springframework.data.redis.serializer.SerializationException

导致问题的原因是,在生成token的时候使用了自定义的UserDetails的进行了token序列化,反序列化的时候,在新项目中找不到自定义的实现,只能使用默认的实现来。 解决的方案是就是把自定义实现的UserDetails复制一份到资源项目中。

上述就是小编为大家分享的如何解决SpringSecurityOAuth2 redis反序列失败问题了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

序列 资源 问题 时候 用户 服务 认证 内容 同时 就是 接口 数据 方法 分析 专业 中小 内容丰富 原因 文章 新项目 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器能启动但检测不到磁盘 想学网络技术好找工作吗 数据库怎么用transaction 电信网络技术工程师工作 省级数字家庭管理平台服务器认证 大型服务器经常开关会有损伤吗 肇庆智能软件开发收费 明日之后服务器炸了有什么奖励 软件开发银行项目简历模板 北京地理信息软件开发 村委会建立人才数据库 江苏网络软件开发一体化 骰子服务器 机械模拟软件开发 不同数据库sql语句不同 轻量云服务器是虚拟主机升级版吗 软件开发哪些项目需要学习 国家网络安全宣传周英文 数据库引擎重装步骤 杭州应用软件开发收费报价表 数据库素材图片 如何建数据库mysql 网络安全调研心得 饥荒服务器一直连接 城市通信网络安全工程师 他发现数据库更新了的翻译 太和租房软件开发 崇明区新能源网络技术概念设计 无线服务器怎么样 上海游宗网络技术有限公司
0