spring_웹의 인증 및 인가

Today Jeeho Learned·2022년 6월 11일
0

Spring

목록 보기
9/31

인증과 인가

인증 (Authentication) : 사용자의 신원을 확인
인가 (Authorization) : 사용자의 권한을 확인

웹에서의 인증과 인가

  • 인증: 로그인을 통해서 본인임을 확인(주로 아이디와 패스워드이용)
  • 인가: 주로 역할에 따른 사용 권한을 관리
    예를들면 웹 카페 사이트에서 회원 랭킹 별로 가능한 첨부파일 크기를 다르게 부여하는 것

쿠키와 세션

  • 쿠키와 세션이 왜 필요한가 ?


사진 처럼 HTTP 웹 브라우저는 상태를 저장하지 않는다. 그래서 첫번째 요청을 보내고, 서버에서 이 첫번째 요청에 대한 응답이 오고나면 둘의 관계는 끊기게 된다. 그래서 같은 사용자가 같은 웹브라우저를 통해서 요청을 보내게되면, 서버에서는 같은 사용자에 의한 요청인지 알 수 없다.
그래서 HTTP에서 상태 정보를 유지하기 위해서는 쿠기와 세션이 필요하다.

쿠키

클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일로 볼 수 있다.

세션

세션은 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용하는 것이다.

동작원리를 보면
1. 클라이언트가 로그인하여서버에 요청을 한다.
2. 서버에서 인증과정을 거쳐, 인증이 완료되면 사용자에 대한 세션ID를 생성하고, 응답 헤더에 전달한다.
3. 웹 브라우저가 응답받은 세션을 쿠키에 저장한다.
4. 클라이언트가 다음 요청에는 쿠키값에 들어있는 세션ID를 포함해서 요청을 보낸다.
5. 웹 서버에서는 세션ID를 보고, 같은 사용자임을 파악하고 그에 맞는 처리를 할 수있게 된다.

profile
기록해야 (살아)남는다 !

0개의 댓글