본문 바로가기
스프링 쇼핑몰 만들어보기

스프링 시큐리티, 회원가입 기능 만들기, 외부 클래스 DI

by hoshi03 2024. 5. 4.

• 스프링 시큐리티

 

gradle에 시큐리티를 추가해서 설치한다

implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.1.RELEASE'

 

스프링 시큐리티를 관리할 클래스를 생성한다

//필터 체인 - 유저의 요청과 서버 응답 사이에 자동실행하고싶은 코드를 담는 것
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    //csrf - 다른 사이트에 폼 만들어서 내 사이트로 요청을 보내는식으로 공격할수 있음
    //csrf를 키면 내가 보내는 데이터에 랜덤 문자도 같이 전송해서 서버가 내가 보냈는지 확인
    http.csrf((csrf) -> csrf.disable());
    http.authorizeHttpRequests((authorize) ->
            authorize.requestMatchers("/**").permitAll()
    );
    //폼으로 로그인하겟다
    http.formLogin((formLogin) ->
            formLogin.loginPage("/login").defaultSuccessUrl("/")
    );
    return http.build();
}

회원가입 기능 - id, pw, 유저명, 별명 4개를 받아서

pw는 BCryptPasswordEncoder로 암호화해서 저장했다

 

 

 

@Bean 어노테이션으로 가져오고 싶은 것을 등록하고

@Bean
PasswordEncoder passwordEncoder(){
    return new BCryptPasswordEncoder();
}

 

뽑아다가 쓰면 된다

private final PasswordEncoder passwordEncoder;

 

 

'스프링 쇼핑몰 만들어보기' 카테고리의 다른 글

페이지 나누기 (pagination)  (0) 2024.05.05
DTO 만들어서 데이터 보내기  (0) 2024.05.05
세션 & 토큰  (0) 2024.05.03
삭제 기능 (Ajax 쿼리스트링, getmapping?)  (0) 2024.05.03
Ajax, 쿼리 스트링  (0) 2024.05.03