-
회원가입 시 password를 암호화하여 저장하기SOLUX-완숙이 2022. 1. 12. 16:56
회원가입 시 회원들의 password를 그대로 저장하면 보안 문제가 있기 때문에 password를 암호화해서 저장해야 한다.
@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .httpBasic() .and() .authorizeRequests() .antMatchers("/**").permitAll(); //.antMatchers("/**").hasAnyRole("ADMIN","USER"); } @Bean public PasswordEncoder passwordEncoder() { return PasswordEncoderFactories.createDelegatingPasswordEncoder(); } }
먼저 WebSecurityConfig 클래스 안에 PasswordEncoder 인터페이스의 암호화 방식을 PasswordEncoderFactories.createDelegatingPasswordEncoder로 하는 코드를 작성하고 PasswordEncoder를
@Bean 어노테이션을 통해 bean 등록을 한다.
private final PasswordEncoder passwordEncoder; @Transactional public Long signUp(MemberSaveDto memberSaveDto) { Member member = Member.builder() .name(memberSaveDto.getName()) .nickName(memberSaveDto.getNickName()) .email(memberSaveDto.getEmail()) .password(passwordEncoder.encode(memberSaveDto.getPassword())) .loginId(memberSaveDto.getLoginId()) .roles(Collections.singletonList("ROLE_USER")) .build(); return memberRepository.save(member).getId(); }
그 후 MemberService에서 password를 저장할 때 passwordEncoder.encode 코드를 통해 암호화한다.
'SOLUX-완숙이' 카테고리의 다른 글
jwt signWith deprecated 오류 (0) 2022.01.13 spring security+jwt 회원가입, 로그인 #2 (0) 2022.01.12 spring security+jwt 회원가입, 로그인 #1 (0) 2022.01.12 @ElementCollection에서 table not found error (0) 2022.01.11 ERD (0) 2022.01.05