Rev 23784 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.service.authentication.RoleManager;import com.spice.profitmandi.web.model.LoginDetails;import com.spice.profitmandi.web.util.CookiesProcessor;@Componentpublic class RoleInterceptor implements HandlerInterceptor {@Autowiredprivate RoleManager roleManager;private static final Logger LOGGER = LogManager.getLogger(RoleInterceptor.class);@Autowiredprivate CookiesProcessor cookiesProcessor;@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3)throws Exception {}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView arg3)throws Exception {LOGGER.info("request is received after : "+request.getRequestURL().toString());}@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception {LOGGER.info("request is received before uri [{}], method [{}]", request.getRequestURI(), request.getMethod());LoginDetails loginDetails = null;try {loginDetails = cookiesProcessor.getCookiesObject(request);} catch (ProfitMandiBusinessException e) {LOGGER.error("Requested session is expired", e);throw e;}return roleManager.isAuthorizedURI(loginDetails.getRoleIds(), request.getContextPath(), request.getRequestURI(), request.getMethod());}}