클라이언트가 로그인을 통한 요청을 보내면,
loginForm에 담긴 email과 repository에 있는 email이 일치여부 판단 후
userService에서는 password에 대한 검증
그 후 getSession을 통해 세션이 존재하다면, 반환하고 없다면 신규 세션을 생성해주고 setAttribute로 회원정보가 포함된 세션을 저장한다. 이제 클라이언트의 요청마다 세션ID가 함께 전송됨
@sessionAttributes
@SessionAttribute(name = "LOGIN_USER",required = false) SessionLoginForm loginForm){
현재 세션에서 “LOGIN_USER”라는 이름의 세션 객체를 찾아 loginForm에 할당 후 loginForm에 저장된 email 정보를 기반으로 실제 DB에 해당 사용자가 존재하는지 검증. 이를 통해 세션에 저장된 사용자 정보가 실제 DB에 존재하는지 확인하여 현재 사용자의 권한과 유효성을 검증.
다른 사람들의 작품을 검색, 조회하여 볼 수 있고, 댓글도 볼 수 있다.
하지만, 그 외의 작품 생성이나 내가 작성 중이었던 작품 조회의 경우엔 사용자 인증이 필요하다