Subversion Repositories SmartDukaan

Rev

Rev 5638 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.serving.interceptors;

import in.shop2020.serving.services.UserSessionInfo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginInterceptor extends AbstractInterceptor {


        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private static Logger log = Logger.getLogger(Class.class);
        
        @Override
        public String intercept(ActionInvocation invocation) throws Exception {
                HttpServletRequest request = ServletActionContext.getRequest();
                HttpServletResponse response = ServletActionContext.getResponse();
        
        UserSessionInfo userInfo = (UserSessionInfo) request.getAttribute(UserInterceptor.USER_INFO_COOKIE_NAME);
        if(userInfo.isPrivateDealUser()){
                String next = request.getContextPath();
                System.out.println(next);
                //response.sendRedirect(getMobileRedirectUrl(userInfo.getUserId(), next));
        }
        if(userInfo == null || !userInfo.isLoggedIn()){
                response.sendRedirect("/login?redirectUrl=" + getRedirectUrl(request));
                return null;
        }
                return invocation.invoke();
        }
        
        /*String getMobileRedirectUrl(long userId){
                return "";
                String data = "?data=" + Base64.encodeBase64String((serialize($data)));
                $token = '&token='.md5(Configure::read('saholicapikey').'|'.$user['UserAccount'][0]['account_key']);
        }*/
        
        public String getRedirectUrl(HttpServletRequest request) {
                String queryString = request.getQueryString();
                if (queryString == null) {
                        queryString = "";
                } else {
                        queryString = "?" + queryString;
                }
                log.info("Redirect Url : " + request.getRequestURI() + queryString);
                return request.getRequestURI() + queryString;
        }
}