0

My Role Class. I have getter setter annotations:

@Getter
@Setter
@Builder
@Entity
@Table(name = "role_table")
@NoArgsConstructor
@AllArgsConstructor
public class Role {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "role_id")
    private Long id;

    private String role_name;

}

My User class. I have some annotations.

@Data
@Builder
@Entity
@Table(name = "user_table")
@NoArgsConstructor
@AllArgsConstructor
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "role_id")
    private Long id;
    private String username;
    private String password;

    @ManyToMany
    @JoinTable(name = "user_role",
    joinColumns = {@JoinColumn(name = "user_id",referencedColumnName = "user_id")},
    inverseJoinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")})
    private List<Role> roles;
}

My CustomUserDetail class:

public class CustomUserDetail implements UserDetails {

    private String name;
    private String password;

    private List<GrantedAuthority> roles;

    public CustomUserDetail(User user){
        this.name=user.getUsername();
        this.password=user.getPassword();
        this.roles=user.**getRoles()**.stream().map(
                role -> new SimpleGrantedAuthority(role.**getRole_name()**)).collect(Collectors.toList());

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

    @Override
    public String getPassword() {
        return null;
    }

    @Override
    public String getUsername() {
        return null;
    }

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

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

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

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

When i run, i get this error. getRole_name() and getRoles() are red sign but i have these methods(i added lombok annotations). Please anyone help me ? What is wrong?.......................................

java: cannot find symbol
  symbol:   method getRoles()
  location: variable user of type org.springframework.security.core.userdetails.User
program
  • 9
  • 2

1 Answers1

2

The error is quite explicit. You import the default Spring User: variable user of type org.springframework.security.core.userdetails.User that is not your own implementation.

grekier
  • 2,322
  • 1
  • 16
  • 23