- 인증 vs 인가
- 인증 : 유저가 누구인지 확인하는 절차, 회원가입하고 로그인하는 것
- 인가 : 유저에대한 권한을 허락하는 것
- 전송레이어 보안
- TLS(Transport Later Security)
- 우리가 흔히 알고있는 SSL이다. SSL이란 용어가 더 많이쓰이는데 SSL3.0부터 TLS라는 이름으로 변경되었다.
- HTTPS(Hyper Text Transfer Protocol Secure) : HTTP 프로토콜의 암호화버전. 클라이언트와 서버가 주고받는 모든 데이터는 암호화가 되어야 하는데, 이를 위해 SSL(Secure Sockets Layer)를 사용한다. HTTPS와 TLS는 다르다. TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜
- SSL 암호화를 위해서는 SSL 인증서가 필요하다.
- FilterChainProxy 를 구성하는 Filter들?

- 대칭키 vs 비대칭키
- Remember-Me란?
- 세션이 만료되거나 종료된 후에도 서버에서 클라이언트의 인증 유무를 기억하는 기능
- 세션처리
- 인가처리
- UserDetails와 Authentication 차이
- UserDetails : 이름, 이메일, 전화번호와 같은 사용자 프로파일 정보를 저장하기 위한 용도로 사용, DB 등에서 긁어온 유저 정보를 담고 있음
- Authentication : 사용자ID, Password와 인증 요청 컨텍스트에 대한 정보를 가지고 있음. 현재 요청이 들어온 유저 인증과 세션 관련된 정보. 인증 이후의 사용자 상세 정보와 같은 UserDetails 타입 오브젝트를 포함할 수도 있음
- AuthenticationEventPublisher
- 인증 성공 또는 실패가 발생했을 때 이벤트를 전달하기 위한 이벤트 퍼블리셔 인터페이스
- 기본 구현체로 DefaultAuthenticationEventPublisher 클래스가 사용됨
public interface AuthenticationEventPublisher { void publishAuthenticationSuccess(Authentication authentication); void publishAuthenticationFailure(AuthenticationException exception, Authentication authentication); }