- 동시 세션 제어
- 세션 고정 보호
- 세션 정책
- SessionManagementFilter & ConcurrentSessionFilter
여러 클라이언트(User라는 Id를 가진 클라이언트가 여러 인터페이스에서 요청)가 서버에 접속 요청 -> 각 클라이언트가 인증을 한다 -> 하나의 계정
즉 똑같은 계정으로 여러개의 세션이 생기는 경우를 동시 세션 이라고 한다.
동일한 계정인데 여러개의 세션이 생기는 것
http 통신이라는 가정하에 서버가 클라이언트 요청을 받을 경우 클라이언트의 고유 id, pwd 등을 알 수 없고 요청에 대한 속성 및 요청에 대한 정보만 알 수 있다.
또한 응답을 받은 경우 http connection은 종료가 되기 때문에 state less 즉 상태를 유지시키지 않는다.
이런 경우 다시 요청하게되면 서버는 누군지 모르고 새롭게 요청하는 클라이언트로 인식한다.
따라서 서브는 이전의 데이터를 다시 사용할 수 없기 때문에 클라이언트의 이름 즉 sessionId를 발급하여 클라이언트마다 고유 Id를 가질 수 있게 한다.
클라이언트가 여러개 있더라도 각 고유 아이디를 가지고 있다
그 이후 클라이언트가 요청하는 경우 서버는 이미 클라이언트의 세션 아이디를 알고 인식하기 때문에 이후 정보를 그대로 사용할 수 있게 된다.
최대 세션 갯수를 초과하는 경우 인증에는 성공하나 첫번째 인증했던 사용자의 세션을 강제로 만료 시킨다.
접속이 오래된 순서로 세션을 만료시킨다.
세션 갯수를 초과하는 경우 인증 예와가 발생하여 로그인 자체를 차단하여 접속하지 못하도록 한다.