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;
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;
22
	private static Log log = LogFactory.getLog(LoginInterceptor.class);
816 vikas 23
 
24
	public static String REDIRECT_URL = "REDIRECT_URL";
781 vikas 25
 
26
	@Override
27
	public String intercept(ActionInvocation invocation) throws Exception {
28
		HttpServletRequest request = ServletActionContext.getRequest();
29
        HttpSession session = request.getSession(); // Get the existing session or create a new one
30
 
31
        UserSessionInfo userInfo = (UserSessionInfo) session.getAttribute(UserInterceptor.USER_INFO);
32
        if(userInfo == null || !userInfo.isLoggedIn()){
33
			setRedirectUrl(request);
34
			return "login";
35
		}
36
		return invocation.invoke();
37
	}
38
 
39
	public void setRedirectUrl(HttpServletRequest request) {
40
		String queryString = request.getQueryString();
41
		if (queryString == null) {
42
			queryString = "";
43
		} else {
44
			queryString = "?" + queryString;
45
		}
46
		log.info("Redirect Url : " + request.getRequestURI() + queryString);
816 vikas 47
		request.getSession().setAttribute(REDIRECT_URL,
781 vikas 48
				request.getRequestURI() + queryString);
49
	}
50
}