@Override
@RequestMapping(value = "/member/login.do", method = RequestMethod.POST)
public ModelAndView login(@ModelAttribute("member") MemberVO member, // 1.
RedirectAttributes rAttr, // 2.
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ModelAndView mav = new ModelAndView();
memberVO = memberService.login(member); // 3.
// 4.
if (memberVO != null) {
HttpSession session = request.getSession();
session.setAttribute("member", memberVO); // 5.
session.setAttribute("isLogOn", true); // 6.
mav.setViewName("redirect:/member/listMembers.do");
} else {
rAttr.addAttribute("result", "loginFailed"); // 7.
mav.setViewName("redirect:/member/loginForm.do"); // 8.
}
return mav;
}
1. 로그인 창에서 전송된 id, pwd 를 MemberVO 객체인 member에 저장
2. RedirectAttributes 클래스를 이용해 로그인 실패 시 다시 로그인창으로 리다이렉트하여 실패 매시지를 전달
3. login()메서드를 호출하면서 로그인 정보를 전달
4. 세션에 회원정보를 저장
5. 세션에 로그인 상태를 true로 설정
6. memberVO로 반환된 값이 있으면 세션을 이용해 로그인 상태를 true로 함.
7. 로그인 실패 시 실패 메시지를 로그인 창으로 전달
8. 로그인 실패 시 다시 로그인 창으로 리다이렉트 함.
27장 메이븐과 스프링 sts ==> 로그인 기능 구현
'🚀 부트캠프 - PLAYDATA > 📒 수업 내용 정리' 카테고리의 다른 글
[Springboot] IntelliJ 프로젝트 생성 / pom.xml 문서 구성 (0) | 2023.08.31 |
---|---|
[Spring] REST API (0) | 2023.08.28 |
8/2 수업 내용 메모 (0) | 2023.08.02 |
[PLAYDATA / JavaWeb] Oracle, elclipse DB 연결방법 (0) | 2023.07.29 |
[day12 / Java Web] 폴더, ServletRequest , ServletResponse (0) | 2023.07.12 |