I know this question has been asked before, however I\'m facing a particular issue here.
I use spring security 3.1.3.
I have 3 possible login cases in my web
I have following solution and it worked for me.
Whenever login page is requested, write the referer value to the session:
@RequestMapping(value="/login", method = RequestMethod.GET)
public String login(ModelMap model,HttpServletRequest request) {
String referrer = request.getHeader("Referer");
if(referrer!=null){
request.getSession().setAttribute("url_prior_login", referrer);
}
return "user/login";
}
Then, after successful login custom implementation of SavedRequestAwareAuthenticationSuccessHandler will redirect user to the previous page:
HttpSession session = request.getSession(false);
if (session != null) {
url = (String) request.getSession().getAttribute("url_prior_login");
}
Redirect the user:
if (url != null) {
response.sendRedirect(url);
}