๐ŸŒฟ Spring

ํ™ˆํŽ˜์ด์ง€ ์ตœ์ดˆ์ ‘์† ์‹œ url์— jsessionid ์ž๋™์œผ๋กœ ์•ˆ๋ถ™๊ฒŒํ•˜๊ธฐ

์—ฐ_์šฐ๋ฆฌ 2021. 12. 20. 14:01
๋ฐ˜์‘ํ˜•

์Šคํ”„๋ง์œผ๋กœ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ํ›„ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ผœ๊ณ  ์ตœ์ดˆ ๋กœ๊ทธ์ธ ์‹œ์— url์— ์ž๋™์œผ๋กœ jsessionid์ด ๋ถ™๋Š”๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค

์„œ๋ฒ„๋Š” /login์—์„œ ์ƒˆ๋กœ์šด ์„ธ์…˜์„ ๋งŒ๋“ค์–ด์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค

์ด๋•Œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฟ ํ‚ค ์ง€์›์—ฌ๋ถ€๋ฅผ ๋ชจ๋ฅด๊ธฐ๋•Œ๋ฌธ์— URL๊ณผ ์ฟ ํ‚ค ๋‘ ๊ณณ์— jsessionid์„ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์Œ ์š”์ฒญ์—์„œ ์ฟ ํ‚ค๋กœ jsession์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด url์— jsession์„ ์ƒ๋žตํ•˜๊ณ 

์ฟ ํ‚ค๋กœ jsession์„ ๋ณด๋‚ผ ์ˆ˜ ์—†๋‹ค๋ฉด url์— jsession์„ ๋ถ™์ด๊ฒŒ๋œ๋‹ค.

 

@PostMapping("/login")
  public String loginOk(@Validated @ModelAttribute Member member, BindingResult bindingResult, HttpServletRequest request, @RequestParam(defaultValue = "/") String redirectURL){
    BindingResult newBindingResult = memberService.loginValidCheck(member, bindingResult);

    if(newBindingResult!=null && newBindingResult.hasErrors()){
    	return "member/login";
    }else{
    HttpSession session = request.getSession(); // ์„ธ์…˜์ด ์žˆ์œผ๋ฉด ์žˆ๋Š” ์„ธ์…˜ ๋ฐ˜ํ™˜, ์—†์œผ๋ฉด ์‹ ๊ทœ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜

    Member loginMember = memberRepository.findByEmail(member.getEmail()).orElse(null);
    session.setAttribute(SessionConstants.LOGIN_MEMBER, loginMember);   // ์„ธ์…˜์— ๋กœ๊ทธ์ธ ํšŒ์› ์ •๋ณด ๋ณด๊ด€

    return "redirect:"+redirectURL;
  }
}
@Controller
public class HomeController {
  @GetMapping("/")
  public String index(@Login Member loginMember, Model model){

  //์„ธ์…˜์— ํšŒ์›๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ํ™ˆ์œผ๋กœ ์ด๋™
  if (loginMember == null) {
  	return "index";
  }

  // ์„ธ์…˜์ด ์žˆ์œผ๋ฉด model์— ๋‹ด์•„ ํ™ˆ์œผ๋กœ ์ด๋™
  model.addAttribute("loginMember", loginMember);
  return "index";
  }
}

 

 

application.yml์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค

server:
  session:
    tracking-modes: cookie  #์ตœ์ดˆ์ ‘์† ์‹œ url์— jsession์•ˆ๋ถ™๊ฒŒ

ํ•ด๊ฒฐ!

๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ํŠธ์œ„ํ„ฐ ๊ณต์œ ํ•˜๊ธฐ
  • ๊ตฌ๊ธ€ ํ”Œ๋Ÿฌ์Šค ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ