스파르타코딩클럽(내일배움캠프)

스파르타코딩클럽 내일배움캠프 10주차 3일

backend_fighting 2023. 1. 4. 11:01
728x90

스프링 시큐리티를 쓰면 좋은점

스프링 시큐리티를 사용한다면, 서비스 로직에 token을 확인하는 로직이 하나하나 다들어가야하는데, 시큐리티 프레임웍을 쓰면 이런부분이 없어도 됨.. AOP???

 

세션 방식과 토큰(JWT 등) 방식 정리

https://fierycoding.tistory.com/69

 

[인증/인가]Session(세션)과 Token(토큰)(JWT)의 차이점

바로 직전의 통신도 기억 못하는 HTTP HTTP는 stateless한 특성을 가지기 때문에 각 통신의 상태는 저장되지 않습니다. 하지만 우리가 웹 서비스를 사용할 때를 생각해봅시다. 매번 새 페이지를 요청

fierycoding.tistory.com

 

강의에서 세션을 설명할때 쿠키랑 혼영해서 쓰여서 개념이 해깔려서 다시 정리를 하려하는데 이블로그를 추천받아서, 다시 개념이 명확해졌다.

 

간단정리

1. 세션에 id값을 저장후 클라이언트에 쿠키로 보냄!!

2. 토큰은 서버에 시크릿키만 저장후 엔코딩 디코딩 하여 보냄

 

*효과 : 토큰방식이 서버에 부하가 적다. 세션 방식을 사용하면 예를들어 만명의 사용자라면 서버는 세션값을 만개 가지고 있어야함

 

API요청이 들어왔을때, HTTP객체가 이러한 FilterChain을 타고 Controller까지 들어오는데, 스프링 시큐리티가 filter에서 인증/인가를 처리한다.

 

Form Login : 인증이 필요한 URL 요청이 들어왔을때, 인증이 되지않았다면 로그인페이지를 반환한다.

 

Security context holder : 인증을 한 사용자의 상세정보를 가지고 있는 Security context 를 담고있는 holder고, 안에 Authentication객체가 담겨져 있음

 

Authentication : principal, credentials, authorities

  • principal : 사용자를 식별한다. Username/Password 방식으로 인증할 때 보통 UserDetails 인스턴스다.
  • credentials : 주로 비밀번호, 대부분 사용자 인증에 사용하고 다음 비운다.
  • authorities : 사용자에게 부여한 권한을 GrantedAuthority 로 추상화하여 사용한다.

 

감기가 심하게 걸려서 집중을 잘못하고 있어서... 컨디션 관리를 위해 쉬엄쉬엄 해야겠다.

 

 

 

728x90