본문 바로가기
개발노트

로그인 후 이전페이지 이동 Referer

by SoonNote 2022. 9. 29.
반응형

로그인 후 메인페이지 이동이 불편하다는 민원이 들어와 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