작성
·
89
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
findCookie() 메서드에서 String cookieName으로
SESSION_COOKIE_NAME = "mySessionId";
위의 상수를 받고있는 상황으로써 모든 사용자의 cookieName은 전부 "mySessionId"이 됩니다.
return Arrays.stream(cookies).filter
(cookie -> cookie.getName().equals(cookieName)).findAny().orElse(null);
위 코드에서 cookie.getName().equals(cookieName)).findAny() 이 부분을 보게되면 쿠키의 이름과 cookiename이 동일한 것중에서 무작위로 하나를 return하게 됩니다.
앞서 cookieName은 전부 mySessionId인 것을 알 수 있습니다. 이럴경우 서로다른 무작위의 사용자가 쿠키를 통해 세션 로그인을 하였을 때
sessionStore.get(sessionCookie.getValue()
위 코드로 member 객체를 특정 짓게 되므로, 반드시 나의 회원 정보를 찾는 것이 아닌 타인의 회원정보를 반환할 수 있는 것이 아닌가 의문이 듭니다.
인턴AI가 아닌 사람이 직접 답해주시길 바랍니다.
답변 1
1
안녕하세요. 박주형님, 공식 서포터즈 David입니다.
사용자별로 세션 ID가 부여된다는 전제하에 아래 답변을 참고해 주세요.
https://www.inflearn.com/community/questions/255129?focusComment=122642
감사합니다.