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