Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | 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;
6
import javax.servlet.http.HttpSession;
7
 
8
import org.apache.juli.logging.Log;
9
import org.apache.juli.logging.LogFactory;
832 rajveer 10
import org.apache.log4j.Logger;
781 vikas 11
import org.apache.struts2.ServletActionContext;
12
 
13
import com.opensymphony.xwork2.ActionInvocation;
14
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
15
 
16
public class LoginInterceptor extends AbstractInterceptor {
17
 
18
 
19
	/**
20
	 * 
21
	 */
22
	private static final long serialVersionUID = 1L;
832 rajveer 23
	private static Logger log = Logger.getLogger(Class.class);
816 vikas 24
 
25
	public static String REDIRECT_URL = "REDIRECT_URL";
781 vikas 26
 
27
	@Override
28
	public String intercept(ActionInvocation invocation) throws Exception {
29
		HttpServletRequest request = ServletActionContext.getRequest();
30
        HttpSession session = request.getSession(); // Get the existing session or create a new one
31
 
32
        UserSessionInfo userInfo = (UserSessionInfo) session.getAttribute(UserInterceptor.USER_INFO);
33
        if(userInfo == null || !userInfo.isLoggedIn()){
34
			setRedirectUrl(request);
35
			return "login";
36
		}
37
		return invocation.invoke();
38
	}
39
 
40
	public void setRedirectUrl(HttpServletRequest request) {
41
		String queryString = request.getQueryString();
42
		if (queryString == null) {
43
			queryString = "";
44
		} else {
45
			queryString = "?" + queryString;
46
		}
47
		log.info("Redirect Url : " + request.getRequestURI() + queryString);
816 vikas 48
		request.getSession().setAttribute(REDIRECT_URL,
781 vikas 49
				request.getRequestURI() + queryString);
50
	}
51
}