Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8842 anupam.sin 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.HttpServletResponse;
7
 
8
import org.apache.log4j.Logger;
9
import org.apache.struts2.ServletActionContext;
10
 
11
import com.opensymphony.xwork2.ActionInvocation;
12
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
13
 
14
public class LoginInterceptor extends AbstractInterceptor {
15
 
16
 
17
	/**
18
	 * 
19
	 */
20
	private static final long serialVersionUID = 1L;
21
	private static Logger log = Logger.getLogger(Class.class);
22
 
23
	@Override
24
	public String intercept(ActionInvocation invocation) throws Exception {
25
		HttpServletRequest request = ServletActionContext.getRequest();
26
		HttpServletResponse response = ServletActionContext.getResponse();
27
 
28
        UserSessionInfo userInfo = (UserSessionInfo) request.getAttribute(UserInterceptor.USER_INFO_COOKIE_NAME);
29
        if(userInfo == null || !userInfo.isLoggedIn()){
30
        	response.sendRedirect("/login?redirectUrl=" + getRedirectUrl(request));
31
        	return null;
32
     	}
33
		return invocation.invoke();
34
	}
35
 
36
	public String getRedirectUrl(HttpServletRequest request) {
37
		String queryString = request.getQueryString();
38
		if (queryString == null) {
39
			queryString = "";
40
		} else {
41
			queryString = "?" + queryString;
42
		}
43
		log.info("Redirect Url : " + request.getRequestURI() + queryString);
44
		return request.getRequestURI() + queryString;
45
	}
46
}