티스토리 뷰

[자기 자신만 개인정보 수정할 수 있도록 하기]

@GetMapping("{id}/form")
public String updateForm(@PathVariable Long id, Model model, HttpSession session){

if(HttpSessionUtils.isLoginUser(session)){//개인정보 수정시 로그인 하지 않았을 때 막는 코드
System.out.println("미로그인 상태입니다. 로그인해주세요");
return "redirect:/users/loginForm";
}

User sessionedUser=HttpSessionUtils.getUserFromSession(session);
if(!sessionedUser.matchId(id)){
throw new IllegalStateException("You can't update the another user info");
}

User user = userRepository.findById(id).get();
model.addAttribute("user", user);
return "/user/updateForm";
}

1. 로그인 여부 확인 : HttpSessionUtils.isLoginUser(session) 메서드를 이용하여 로그인 여부를 확인한다.

public static boolean isLoginUser(HttpSession session){
Object sessionedUser=session.getAttribute(USER_SESSION_KEY);
if(sessionedUser==null){
return false;
}
return true;
}



2. 본인 아이디 확인 : matchId(id) 메서드를 이용해서 본인 아이디가 맞는지 확인한다.

public boolean matchId(Long newId){
if(newId==null){
return false;
}

return newId.equals(userId);
}


이렇게 로그인 여부와 본인 아이디를 확인하여 개인정보 수정 기능을 구현해 보았습니다.









댓글