반응형
로그인 후 메인페이지 이동이 불편하다는 민원이 들어와 Referer 사용 하여 해결
@RequestMapping(value="/login/login.do")
public String login ( ModelMap model, HttpServletRequest request ) throws Exception {
String referer = request.getHeader("Referer");
request.getSession().setAttribute("redirectURI", referer);
return "/login/login";
}
로그인을 하지 않은 상태에서 신청버튼을 누르면 로그인 jsp login.jsp 이동 전에 세션에 전페이지 주소를 담고

시큐리티 로그인을 성공 후 defaultTargetUrl 주소에서 referer 세션값이 있을경우 그쪽으로 리다이렉트 시켜주는 방식으로 구현하였음.
이렇게 구현하면 어디서든 로그인페이지로 이동하여 로그인을 성공하면 그전 페이지로 이동이 가능하다.
추가로 전 페이지가 아닌 해당 신청페이지로 이동하는 경우는
@RequestMapping(value="/loginAfterUrl.do")
public String loginCheck( ModelMap model
, HttpServletRequest request, HttpSession session) throws Exception {
String url = request.getParameter("url");
url = url + ".do";
request.getSession().setAttribute("loginAfterUrl", url);
Object loginSession = session.getAttribute("login");
if(loginSession != null){
return "redirect:"+url;
}else{
return "redirect:/ouz/mbr/member/login/login.do";
}
}
를 추가해
<a href="/loginAfterUrl.do?url=/registration/check" class="btn MbackColor text-white">이용 등록(온라인) 신청현황</a>
jsp에서 해당 url을 불러 이동하고자 하는 주소를 파라미터로 받아 세션에 저장 후
시큐리티 datafaultUrl에서 referer보다 우선처리하면 로그인 후 원하는 페이지로 이동이 가능하다..
반응형
'개발노트' 카테고리의 다른 글
| 리눅스 CRONTAB 설정 (0) | 2022.10.18 |
|---|---|
| Window Tomcat ssl 적용하기 (0) | 2022.10.17 |
| ajax form 한번에 보내기 (0) | 2022.07.14 |
| JAVA 접속자 IP 가져오기 (0) | 2022.06.16 |
| Controller에서 Request을 hashmap으로 받기 (0) | 2022.05.31 |