您现在的位置:首页 >> 前端 >> 内容

SpringBoot拦截器

时间:2017/9/15 10:17:00 点击:

  核心提示:SpringBoot拦截器@Componentpublic class UserSecurityInterceptor implements HandlerInterceptor {private s...

SpringBoot拦截器

@Component
public class UserSecurityInterceptor implements HandlerInterceptor {
    private static final Logger LOGGER = LoggerFactory.getLogger(UserSecurityInterceptor.class);

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("request is {}", request.getRequestURI());
        }
        String currentUser = (String) request.getSession().getAttribute(GlobalConstants.USER_LOGIN_SESSION);
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("currentUser is {}", currentUser);
        }
        if (StringUtils.isEmpty(currentUser)) {
            response.sendRedirect(request.getContextPath() + "/401");
            return false;
        }
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    }
}
@Configuration
public class WebMvcConf extends WebMvcConfigurerAdapter {
    @Autowired
    private UserSecurityInterceptor securityInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //pages下的所有页面均需要验证
        registry.addInterceptor(securityInterceptor).addPathPatterns("/pages/**");
    }
}

Tags:SP PR RI IN 
作者:网络 来源:helloworld