Spring Security
[Spring Security] Empty encoded password ์๋ฌ
์ฐ์ฃผ๋ฌผ๊ณ ๊ธฐ
2025. 5. 4. 12:50
๋ฐ์ํ
์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๋ก๊ทธ์ธํ ๋ pw๊ฐ ๋น์ด์๋ค๊ณ ํด์
ํฐ์ง๋ ์์ธ
โ
๋ด๊ฐ ๋ฐ๋ณด์งํ๊ฑฐ์..ใ
@Table(name = "users")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false)
private Long id;
@Column(name = "email", nullable = false, unique = true)
private String email;
@Column(name = "password")
private String password;
@Builder
public User(String email, String password, String auth) {
this.email = email;
this.password = password;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return List.of(new SimpleGrantedAuthority("user"));
}
@Override
public String getUsername() {
return ""; // ์ฌ๊ธฐ๊ฐ ๋ฌธ์ !!!!!!!!!!!!
}
@Override
public String getPassword() {
return ""; // ์ฌ๊ธฐ๊ฐ ๋ฌธ์ !!!!!!!!!!!!
}
@Override
public boolean isAccountNonExpired() {
return true; // ์ฐ์ต ์ค์ด๋ผ ์ผ๋จ ์ ๋ถ true๋ก ํจ
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}
User์ํฐํฐ ์ฝ๋์ธ๋ฐ,
์ค๋ฒ๋ผ์ด๋ ํ๋ ๋ฉ์๋๋ค์ alt+Insertํค๋ก
ํญ์ ์ธํ ๋ฆฌ์ ์ดํด์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ป์
์์ผ๋ก ์ํ๊ณ
โ
โ
๋ฌธ์ ๋ ์ธํ ๋ฆฌ์ ์ด๊ฐ ์๋์์ฑํด์ค ์ค๋ฒ๋ผ์ด๋ ๋ฉ์๋๋ค์
ํ์ธ์ ์ํ๊ณ
์์์ ์ ํ๊ฒ์ง~ ํ๊ณ ๋๊ธด๊ฑฐ
ใ ใ ใ ใ ใ ใ ใ ใ
๋๋ถ์ return ""; ํ๊ณ ์์๊ณ
๊ทธ๋๊น ๋น์ฐํ empth password๊ฐ ๋จ๋๊ฑฐ
โ
โ
๋ค๋ค ๋๊ฐ์ ๋ฐ๋ณด๊ฐ์ ์ค์ ํ์ง๋ง์ผ
โใ ใ ;;;
์ํผ ์์ ํ๋ฉด
@Table(name = "users")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false)
private Long id;
@Column(name = "email", nullable = false, unique = true)
private String email;
@Column(name = "password")
private String password;
@Builder
public User(String email, String password, String auth) {
this.email = email;
this.password = password;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return List.of(new SimpleGrantedAuthority("user"));
}
@Override
public String getUsername() {
return email;
}
@Override
public String getPassword() {
return password;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}
๋ฐ์ํ