学无先后,达者为师

网站首页 编程语言 正文

当springsecurity出现SerializationException问题

作者:宣布无人罪 更新时间: 2023-12-17 编程语言

当springsecurity出现SerializationException问题

01 异常发生场景

  • 当我使用springsecurity时,登录成功后携带token访问接口出了问题
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unrecognized field "username" (class com.example.demo.entity.LoginUser), not marked as ignorable (2 known properties: "msUser", "authorities"])

02 问题发生的原因

  • 日志说的很清楚,无法读取 JSON:无法识别的字段
  • 原本我以为是存储时格式有问题
  • 但是检查了工具类和存储时的代码,确定了没问题
  • 后来发现我的实体类没有序列化

03 解决方式

  • 在实体类上加上注解@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class LoginUser implements UserDetails {

    private MsUser msUser;
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return null;
    }

    @Override
    public String getPassword() {
        return msUser.getPassword();
    }

    @Override
    public String getUsername() {
        return msUser.getUsername();
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public boolean isEnabled() {
        return true;
    }
}

原文链接:https://blog.csdn.net/2302_77182979/article/details/134767796

  • 上一篇:没有了
  • 下一篇:没有了
栏目分类
最近更新