2주차

허현진·2021년 9월 16일
0

SpringCore

목록 보기
1/2

summary

https://www.notion.so/Spring-1-b5980823f7644e5e88fd2c71dfea2319

2-1

  • 웹의 인증과 인가
  • 스프링 시큐리티
  • OAuth2를 이용한 소셜 로그인

2-2 웹의 인증 및 인가

  • 인증 :사용자 신원 확인 행위 (ex 출입증, 생체정보)
    --> 로그인을 통해 본인임을 확인
  • 인가 : 사용자 권한 확인 행위 (ex. 직원은 회의실만 접근 가능)
    --> 카페 회원 랭킹 별 가능한 첨부파일 크기 다르게 부여

2-3 쿠키와 세션

  • 클라이언트와 서버가 통신을 할 때 api 요청을 보내는데 HTTP통신 규악을 따라야 함.

  • HTTP특징이 사용자 구별을 하지 못함. ( 클라이언트가 요청 보내고 서버가 응답 보내면 연결이 끊김 )

  • HTTP는 상태를 저장하지 않는다 (stateless)
    --> http에서 상태 정보를 저장하기 위해서는 쿠키와 세션이 필요하다

  • 쿠키 : 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일. 웹 브라우저에 저장

  • 세션 : 서버에 저장을 하는 기술. 사용자가 스파르타 코딩 클럽에 로그인을 하면 서버에서는 인증 과정을 거쳐 인증이 완료가 되면 사용자에 대한 세션 아이디를 새로 발급해서 그 아이디를 응답에 추가하면 웹 브라우저가 응답을 받아서 쿠키를 저장하고 다음에 클라이언트가 요청할 때는 쿠키 값에 들어있는 세션ID를 포함해서 요청을 보내게 됨. 그러면 웹 서버에서 이 세션 ID를 보고 사용자 파악

2-4 회원 관리 기능 요구사항 및 설계

  • 회원가입
  • 회원 로그인
  • 회원 로그아웃

2-5 스프링 시큐리티 프레임워크

  • 인증 및 인가를 위해 많은 기능 제공
  • 스프링 시큐리티 프레임워크 추가, 활성화

2-6 회원가입 UI 반영

  • css 적용 안되는 경우
    --> security의 url허용 정책 때문
    --->WebSecurityConfig에서 모든 요청에 대해서 인증을 한다고 설정해놨는데 css의 요청에 대해서도 요청이 필요함

2-7 회원가입 기능 구현

  • Entity -> requestDto --> Controller --> Service --> Repository
  • Entity : 회원정보 디비에 저장
  • DTo, Controller : API 설정

2-8 패스워드 암호화 구현

  • 일방향 암호 알고리즘 사용

2-9 로그인, 로그아웃 기능 구현

로그인 처리 과정

회원 ID -> 회원 정보 DB를 조회 -> 조회된 회원객체를 소유한 UserDetails생성 -> 사용자가 입력한 ID,PW가 UserDetails와 일치?

profile
코딩일지..

0개의 댓글