Subversion Repositories SmartDukaan

Rev

Rev 832 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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