ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 회원가입 시 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
Designed by Tistory.