작성
·
85
0
사용자가 웹에 접속하고 로그인도 안했는데 세션이 왜 생기는건가요? 지금까지 이전 강의에서는 로그인 인증에 성공하면 그때 서버에서 세션을 생성하고 저장한다고 배웠던거 같은데 그냥 접속만 해도 서버에서 클라이언트에 왜 세션을 주는건지 모르겠습니다.
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 에욱 님,
스프링 시큐리티와 세션 관리는 중요한 부분이므로, 충분히 궁금해하실 수 있습니다. 아래에 관련된 질문과 답변들이 있어 도움되실 수 있을 것 같습니다.
세션 STATELESS 일때 궁금한점이 있습니다.:
- 세션 상태에 대한 자세한 설명과 그 동작 방식에 대해 나와 있습니다.
안녕하세요. 익명 객체와 세션 관련 궁금증입니다.:
- 익명 사용자의 인증과 세션 생성에 대한 구체적인 설명을 담고 있습니다.
이 두 게시물은 세션 생성과 관리에 대한 좋은 설명을 제공하며, 특히 익명 사용자가 접속 시 서버에서 세션이 생성되는 이유를 자세히 설명하고 있습니다.
요약하자면,
1. 웹 서버는 클라이언트와의 첫 연결 시 세션을 생성하는 경우가 많습니다. 이는 클라이언트가 로그인하지 않아도 세션이 형성될 수 있음을 의미합니다. 세션은 특정 브라우저와 서버 간의 연속된 일련의 요청을 추적하는 데 사용됩니다.
2. 세션 생성은 클라이언트가 서버에 처음 요청을 보낼 때 발생할 수 있습니다. 이를 통해 서버는 클라이언트의 상태를 유지할 수 있게 됩니다.
3. 스프링 시큐리티의 동작 방식: 기본적으로 스프링 시큐리티는 request.getSession(false)
을 사용하는데, 이는 세션이 존재할 경우 이를 참조하고 그렇지 않을 경우 null을 반환합니다. Authentication 과정에서는 필요에 따라 세션을 활성화하도록 request.getSession(true)
가 호출될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.