Subversion Repositories SmartDukaan

Rev

Rev 1034 | Rev 2907 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
781 vikas 1
package in.shop2020.serving.interceptors;
2
 
3
import in.shop2020.serving.services.UserSessionInfo;
4
 
5
import javax.servlet.http.HttpServletRequest;
924 vikas 6
import javax.servlet.http.HttpServletResponse;
781 vikas 7
import javax.servlet.http.HttpSession;
8
 
832 rajveer 9
import org.apache.log4j.Logger;
781 vikas 10
import org.apache.struts2.ServletActionContext;
11
 
12
import com.opensymphony.xwork2.ActionInvocation;
13
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
14
 
15
public class LoginInterceptor extends AbstractInterceptor {
16
 
17
 
18
	/**
19
	 * 
20
	 */
21
	private static final long serialVersionUID = 1L;
832 rajveer 22
	private static Logger log = Logger.getLogger(Class.class);
816 vikas 23
 
781 vikas 24
	@Override
25
	public String intercept(ActionInvocation invocation) throws Exception {
26
		HttpServletRequest request = ServletActionContext.getRequest();
924 vikas 27
		HttpServletResponse response = ServletActionContext.getResponse();
781 vikas 28
        HttpSession session = request.getSession(); // Get the existing session or create a new one
29
 
30
        UserSessionInfo userInfo = (UserSessionInfo) session.getAttribute(UserInterceptor.USER_INFO);
31
        if(userInfo == null || !userInfo.isLoggedIn()){
924 vikas 32
        	response.sendRedirect("login?redirectUrl=" + getRedirectUrl(request));
33
        	return null;
34
     	}
781 vikas 35
		return invocation.invoke();
36
	}
37
 
924 vikas 38
	public String getRedirectUrl(HttpServletRequest request) {
781 vikas 39
		String queryString = request.getQueryString();
40
		if (queryString == null) {
41
			queryString = "";
42
		} else {
43
			queryString = "?" + queryString;
44
		}
45
		log.info("Redirect Url : " + request.getRequestURI() + queryString);
924 vikas 46
		return request.getRequestURI() + queryString;
781 vikas 47
	}
48
}