如何解决SpringSecurityOAuth2 redis反序列失败问题
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这期内容当中小编将会给大家带来有关如何解决SpringSecurityOAuth2 redis反序列失败问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。当在认证服
千家信息网最后更新 2025年02月03日如何解决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 extends GrantedAuthority> authorities; public MyUserDetails(AuthUser user, Collection extends GrantedAuthority> authorities) { this.user = user; this.authorities = authorities; } public MyUserDetails() { } @Override public Collection extends GrantedAuthority> 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("用户不可用"); } SetgrantedAuthorities = new HashSet<>(); // 中间逻辑省略。。。。。。 MyUserDetails userDetails = new MyUserDetails(authUser, grantedAuthorities); return userDetails; }}
org.springframework.data.redis.serializer.SerializationException
导致问题的原因是,在生成token的时候使用了自定义的UserDetails的进行了token序列化,反序列化的时候,在新项目中找不到自定义的实现,只能使用默认的实现来。 解决的方案是就是把自定义实现的UserDetails复制一份到资源项目中。
上述就是小编为大家分享的如何解决SpringSecurityOAuth2 redis反序列失败问题了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
序列
资源
问题
时候
用户
服务
认证
内容
同时
就是
接口
数据
方法
分析
专业
中小
内容丰富
原因
文章
新项目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
连云港网络安全展会信息
格力校招应用软件开发面试
软件开发师培训费用
数据库审计安华
软件开发方面问题
用例图中数据库
昆山正新软件开发
vnr未找到数据库
服务器软件架构
哈利波特选那个服务器
软件开发的小品
统一软件开发的方法
科技互联网评说
b85能插服务器内存条
飞腾腾锐d2000服务器
网络安全要先学什么
数据库原理实训题目
iis如何连接数据库
关系数据库的术语是
linux web服务器
软件开发技术员南宁
scrum软件开发流程
网络安全青年博士论坛
世界数据库榜
青少年网络安全知识小队总结
徐州加工软件开发使用方法
数据库条件约束条件
直播软件开发需要哪些人才
软件开发 安卓通知栏
网络安全竞赛开幕式直播