Spring 04

이산·2023년 6월 27일
0

Spring Security

  • 웹 애플리케이션의 보안을 처리하기 위한 프레임워크
  • 인증(Authentication)과 권한 부여(Authorization)를 담당하여 애플리케이션의 인증 및 인가를 안전하게 관리
  • 다양한 기능을 제공하여 사용자 인증, 접근 제어, 보안 설정, 세션 관리 등을 간편하게 구현

Spring Security 버전이 5.x 이상부터 기존의 사용하던것에서 변경해주어야 할 자주 쓰이는 것들
- .authorizeHttpRequests() → .authorizeRequests()
- .antMatchers() → .requestMatchers()
- .access("hasAnyRole('ROLE_A','ROLE_B')") → .hasAnyRole("A", "B")

프로젝트 도입

개발 환경

  • Spring Boot : 3.1.0
  • Java : 17
  • IDE : Intellij

참조
https://terianp.tistory.com/119

스프링부트 3.x 버전 업데이트 이후 javax -> jakarta로 모두 호환성 변경

implementation("com.sun.mail:jakarta.mail:2.0.1") // 메일관련 API 스프링 3.x 버전 이후 jakarta로 변경
현재 스프링부트 버전과 라이브러리 버전 호환성 확인 필수!

이메일 인증 코드 발송후 일치하면 회원가입 완료 기능은 일단 완성

  • 아이디 중복이나 이메일 중복 걸릴시 페이지 리다이렉트로 인해서 인증을 또 해줘야하는 번거로움이 생김
  • 인증확인 버튼 클릭시 인증완료 되었으면 인증코드 작성 input disabled ->> 고정

07_06
Postmapping, post 요청시 해당 url 반드시 securityConfig에서 csrf 예외 시켜주어야 한다!!!

현재 회원가입 페이지는 비동기로 구현하기 위해서 ajax, javascript를 90%이상 활용중
-> 일단 스프링부트 게시판을 활용해 기존 기능은 건드리지 않고 내가 원하는 비동기 기능들만 추가 구현해놓은 상태, 실제 데이터가 JPA를 통해 어떻게 들어가는지 확인필요

회원가입 버튼 활성화 -> 모든 가입조건 true 일 때,
!! 비밀번호 둘다 true시켜놓고 password1 값을 바꿔도 비밀번호확인칸이 계속 true로 남아있음.

하지만 스프링부트에는 비동기( @Async ) 처리 API 가 존재 ->> 활용방법 찾아보기

--> js, ajax를 사용해 비동기 회원가입 페이지 완성

  • 이메일 중복확인 추가 필요

sns연동

다음)
sns계정 로그인 api활용 접속

!! oauth2 의 기본적인 흐름
https://velog.io/@san3102/Oauth-2.0

카카오 로그인시 가져올 수 있는 데이터

https://this-circle-jeong.tistory.com/160 해당 과정 따라하다가 또다른 문제 SpringSecurity 버전이 업데이트 되면서 수정할 부분 수정해가면서 진행해야함

추가 참조 : https://datamoney.tistory.com/333
https://deeplify.dev/back-end/spring/oauth2-social-login#%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%86%8C%EC%85%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8

naver developer : https://developers.naver.com/apps/#/list
Google developer : https://console.cloud.google.com/apis/dashboard?project=spring-project-392615&supportedpurview=project
Kakao developer : https://developers.kakao.com/

0개의 댓글