장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[쇼핑몰 만들기] 2 - Spring Security 적용
개인 프로젝트/쇼핑몰 만들기

[쇼핑몰 만들기] 2 - Spring Security 적용

2022. 7. 23. 23:43
반응형

Spring Security

Spring Security는 Spring 기반의 애플리케이션의 보안을 담담하는 스프링의 하위 프레임 워크 입니다.

Spring Security는 인증과 권한에 대한 부분을 Filter의 흐름에 따라 처리하고, 로그인, 로그아웃 등 보안과 관련된 많은 기능을 제공해주기  때문에 직접 구현하지 않아도 된다는 장점이 있습니다.

 

 

먼저 Spring Security를 사용하기 위해서 build.gradle에 spring security depedency를 추가합니다.

 

implementation 'org.springframework.boot:spring-boot-starter-security'

Spring Security 적용

  • SecurityConfig 구현
  • UserDetails 구현
  • UserDetailsImpl 구현

SecurityConfig 구현

 

authorizeRequests() 메서드를 사용해서 권한별로 접근할 수 있는 url을 지정해줍니다.

formLogin()과 logout()메서드를 사용해서 로그인과 로그아웃과 관련된 기본적인 설정을 추가합니다.

DB에서 회원정보를 조회할 userDetails를 구현한 클래스를 지정해줍니다.


UserDetails 구현

UserDetails는 SpringSecurity에서 사용자의 정보를 담는데 사용하는 인터페이스입니다. 

SpringSecurity는 UserDetails 구현체를 사용해서 사용자의 인증 작업을 진행합니다.

 

현재 프로젝트에서 사용하지 않는 부분들은 매번 true를 반환할 수 있도록 설정했습니다.

 

UserDetailsServicce는 DB에서 사용자의 정보를 조회하는 조회하는 작업을 진행합니다.

MemberService에서 구현한 findByEmail 메서드를 사용해서 사용자를 조회합니다.


 PasswordEncoder 적용

SpringSecurity에서 제공해주는 암호화 알고리즘을 적용해서 DB에 암호화된 비밀번호를 저장하기 위해서 이전에 회원가입에 사용했던 MemberRegisterDto의 내용을 변경해줍니다.

 


https://github.com/tjdgh925/MarketProject/issues/2

 

[FEAT] 로그인 기능 구현 · Issue #2 · tjdgh925/MarketProject

📌 개요 로그인 기능 👨‍💻 작업 사항 로그인 성공 시에 메인 페이지로 이동 로그인 실패할 경우 오류 출력

github.com

 

참고자료:

[SpringBoot] Spring Security란?

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'개인 프로젝트 > 쇼핑몰 만들기' 카테고리의 다른 글

[쇼핑몰 만들기] 4 - 소셜 로그인 기능 구현  (0) 2022.08.01
[쇼핑몰 만들기] 3 - 로그인 기능 구현  (0) 2022.07.24
[쇼핑몰 만들기] 1 - 회원가입 기능 구현  (0) 2022.07.21
[쇼핑몰 만들기] 0 - 프로젝트 생성 및 환경설정  (0) 2022.07.20
    '개인 프로젝트/쇼핑몰 만들기' 카테고리의 다른 글
    • [쇼핑몰 만들기] 4 - 소셜 로그인 기능 구현
    • [쇼핑몰 만들기] 3 - 로그인 기능 구현
    • [쇼핑몰 만들기] 1 - 회원가입 기능 구현
    • [쇼핑몰 만들기] 0 - 프로젝트 생성 및 환경설정
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바